Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
kernel(7)		 Erlang	Application Definition		     kernel(7)

NAME
       kernel -	The Kernel Application

DESCRIPTION
       The  Kernel  application	is the first application started. It is	manda-
       tory in the sense that the minimal system based on Erlang/OTP  consists
       of  Kernel  and	STDLIB.	 The Kernel application	contains the following
       services:

	 * application controller, see application(3)

	 * code

	 * disk_log

	 * dist_ac, distributed	application controller

	 * erl_boot_server

	 * erl_ddll

	 * error_logger

	 * file

	 * global

	 * global_group

	 * heart

	 * inet

	 * net_kernel

	 * os

	 * pg2

	 * rpc

	 * seq_trace

	 * user

ERROR LOGGER EVENT HANDLERS
       Two standard error logger event handlers	are defined in the Kernel  ap-
       plication. These	are described in error_logger(3).

CONFIGURATION
       The  following  configuration parameters	are defined for	the Kernel ap-
       plication. See app(4) for more information about	configuration  parame-
       ters.

	 browser_cmd = string()	| {M,F,A}:
	   When	pressing the Help button in a tool such	as Debugger or TV, the
	   help	text (an HTML file File) is by default displayed in a Netscape
	   browser  which is required to be up and running. This parameter can
	   be used to change the command for how to display the	help  text  if
	   another  browser  than  Netscape  is	preferred, or another platform
	   than	Unix or	Windows	is used.

	   If set to a string Command, the  command  "Command  File"  will  be
	   evaluated using os:cmd/1.

	   If  set  to	a  module-function-args	 tuple	{M,F,A},  the call ap-
	   ply(M,F,[File|A]) will be evaluated.

	 distributed = [Distrib]:
	   Specifies which applications	are distributed	 and  on  which	 nodes
	   they	may execute. In	this parameter:

	   * Distrib = {App,Nodes} | {App,Time,Nodes}

	   * App = atom()

	   * Time = integer()_0

	   * Nodes = [node() | {node(),...,node()}]

	   The parameter is described in application(3), function load/2.

	 dist_auto_connect = Value:
	   Specifies  when  nodes will be automatically	connected. If this pa-
	   rameter is not specified, a node is always automatically connected,
	   e.g when a message is to be sent to that node. Value	is one of:

	   never:
	     Connections are never automatically established, they must	be ex-
	     plicitly connected. See net_kernel(3).

	   once:
	     Connections will be established automatically, but	only once  per
	     node.  If a node goes down, it must thereafter be explicitly con-
	     nected. See net_kernel(3).

	 permissions = [Perm]:
	   Specifies the default permission for	 applications  when  they  are
	   started. In this parameter:

	   * Perm = {ApplName,Bool}

	   * ApplName =	atom()

	   * Bool = boolean()

	   Permissions are described in	application(3),	function permit/2.

	 error_logger =	Value:
	   Value is one	of:

	   tty:
	     Installs the standard event handler which prints error reports to
	     stdio. This is the	default	option.

	   {file, FileName}:
	     Installs the standard event handler which prints error reports to
	     the file FileName,	where FileName is a string.

	   false:
	     No	 standard  event handler is installed, but the initial,	primi-
	     tive event	handler	is kept, printing raw event messages to	tty.

	   silent:
	     Error logging is turned off.

	 global_groups = [GroupTuple]:
	   Defines global groups, see global_group(3).

	   * GroupTuple	 =  {GroupName,	 [Node]}  |  {GroupName,  PublishType,
	     [Node]}

	   * GroupName = atom()

	   * PublishType = normal | hidden

	   * Node = node()

	 inet_default_connect_options =	[{Opt, Val}]:
	   Specifies default options for connect sockets, see inet(3).

	 inet_default_listen_options = [{Opt, Val}]:
	   Specifies  default  options	for  listen  (and accept) sockets, see
	   inet(3).

	 {inet_dist_use_interface, ip_address()}:
	   If the host of an Erlang node has several network interfaces,  this
	   parameter  specifies	 which	one  to	listen on. See inet(3) for the
	   type	definition of ip_address().

	 {inet_dist_listen_min,	First}:
	   See below.

	 {inet_dist_listen_max,	Last}:
	   Define the First..Last port range for the listener socket of	a dis-
	   tributed Erlang node.

	 {inet_dist_listen_options, Opts}:
	   Define  a  list of extra socket options to be used when opening the
	   listening socket for	a distributed Erlang  node.  See  gen_tcp:lis-
	   ten/2

	 {inet_dist_connect_options, Opts}:
	   Define a list of extra socket options to be used when connecting to
	   other distributed Erlang nodes. See gen_tcp:connect/4

	 inet_parse_error_log =	silent:
	   If this configuration parameter is set,  no	error_logger  messages
	   are	generated  when	 erroneous  lines are found and	skipped	in the
	   various Inet	configuration files.

	 inetrc	= Filename:
	   The name (string) of	an Inet	 user  configuration  file.  See  ERTS
	   User's Guide, Inet configuration.

	 net_setuptime = SetupTime:

	   SetupTime  must be a	positive integer or floating point number, and
	   will	be interpreted as the maximally	allowed	time for each  network
	   operation during connection setup to	another	Erlang node. The maxi-
	   mum allowed value is	120; if	higher values are given, 120  will  be
	   used.  The  default	value  if the variable is not given, or	if the
	   value is incorrect (e.g. not	a number), is 7	seconds.

	   Note	that this value	does not  limit	 the  total  connection	 setup
	   time,  but rather each individual network operation during the con-
	   nection setup and handshake.

	 net_ticktime =	TickTime:

	   Specifies the net_kernel tick time. TickTime	is given  in  seconds.
	   Once	 every	TickTime/4  second, all	connected nodes	are ticked (if
	   anything else has been written to a node) and if nothing  has  been
	   received from another node within the last four (4) tick times that
	   node	is considered to be down. This ensures that  nodes  which  are
	   not responding, for reasons such as hardware	errors,	are considered
	   to be down.

	   The time T, in which	a node that is not responding is detected,  is
	   calculated as: MinT _ T _ MaxT where:

	 MinT =	TickTime - TickTime / 4
	 MaxT =	TickTime + TickTime / 4

	   TickTime is by default 60 (seconds).	Thus, 45 _ T _ 75 seconds.

	   Note:  All  communicating nodes should have the same	TickTime value
	   specified.

	   Note: Normally, a terminating node is detected immediately.

	 shutdown_timeout = integer() |	infinity:
	   Specifies the time application_controller will wait for an applica-
	   tion	 to  terminate during node shutdown. If	the timer expires, ap-
	   plication_controller	will brutally kill application_master  of  the
	   hanging application.	If this	parameter is undefined,	it defaults to
	   infinity.

	 sync_nodes_mandatory =	[NodeName]:
	   Specifies which other nodes must be alive in	order for this node to
	   start  properly. If some node in the	list does not start within the
	   specified time, this	node will not start either. If this  parameter
	   is undefined, it defaults to	[].

	 sync_nodes_optional = [NodeName]:
	   Specifies  which other nodes	can be alive in	order for this node to
	   start properly. If some node	in this	list does not start within the
	   specified time, this	node starts anyway. If this parameter is unde-
	   fined, it defaults to the empty list.

	 sync_nodes_timeout = integer()	| infinity:
	   Specifies the amount	of time	(in milliseconds) this node will  wait
	   for the mandatory and optional nodes	to start. If this parameter is
	   undefined, no node synchronization is performed. This  option  also
	   makes sure that global is synchronized.

	 start_dist_ac = true |	false:
	   Starts  the dist_ac server if the parameter is true.	This parameter
	   should be set to true for systems  that  use	 distributed  applica-
	   tions.

	   The	default	 value	is  false. If this parameter is	undefined, the
	   server is started if	the parameter distributed is set.

	 start_boot_server = true | false:
	   Starts  the	 boot_server   if   the	  parameter   is   true	  (see
	   erl_boot_server(3)).	This parameter should be set to	true in	an em-
	   bedded system which uses this service.

	   The default value is	false.

	 boot_server_slaves = [SlaveIP]:
	   If the start_boot_server configuration parameter is true, this  pa-
	   rameter  can	be used	to initialize boot_server with a list of slave
	   IP addresses. SlaveIP = string() | atom |  {integer(),integer(),in-
	   teger(),integer()}

	   where 0 _= integer()	_=255.

	   Examples of SlaveIP in atom,	string and tuple form are:
	   '150.236.16.70', "150,236,16,70", {150,236,16,70}.

	   The default value is	[].

	 start_disk_log	= true | false:
	   Starts   the	  disk_log_server   if	the  parameter	is  true  (see
	   disk_log(3)). This parameter	should be set to true in  an  embedded
	   system which	uses this service.

	   The default value is	false.

	 start_pg2 = true | false:
	   Starts  the	pg2 server (see	pg2(3))	if the parameter is true. This
	   parameter should be set to true in an embedded  system  which  uses
	   this	service.

	   The default value is	false.

	 start_timer = true | false:
	   Starts  the	timer_server  if the parameter is true (see timer(3)).
	   This	parameter should be set	to true	in an  embedded	 system	 which
	   uses	this service.

	   The default value is	false.

	 shutdown_func = {Mod, Func}:
	   Where:

	   * Mod = atom()

	   * Func = atom()

	   Sets	a function that	application_controller calls when it starts to
	   terminate. The function is called as: Mod:Func(Reason), where  Rea-
	   son is the terminate	reason for application_controller, and it must
	   return as soon as possible for application_controller to  terminate
	   properly.

SEE ALSO
       app(4),	 application(3),   code(3),  disk_log(3),  erl_boot_server(3),
       erl_ddll(3),  error_logger(3),  file(3),	 global(3),   global_group(3),
       heart(3),  inet(3), net_kernel(3), os(3), pg2(3), rpc(3), seq_trace(3),
       timer(3), user(3)

Ericsson AB			  kernel 3.2			     kernel(7)

NAME | DESCRIPTION | ERROR LOGGER EVENT HANDLERS | CONFIGURATION | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=kernel&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help