The Kernel application is the first application started. It is mandatory in the sense that the minimal system based on Erlang/OTP consists of Kernel and STDLIB. The Kernel application contains the following services:
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
Two error logger event handlers are defined in the Kernel
application. These are described in error_logger(3)
.
The following configuration parameters are defined for the Kernel
application. See app(3)
for more information about
configuration parameters.
browser_cmd = string() | {M,F,A}
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.Command
, the command
"Command File"
will be evaluated using os:cmd/1
.
{M,F,A}
,
the call apply(M,F,[File|A])
will be evaluated.distributed = [Distrib]
Distrib = {App,Nodes} | {App,Time,Nodes}
App = atom()
Time = integer()>0
Nodes = [node() | {node(),...,node()}]
application(3)
, function
load/2
.dist_auto_connect = Value
Value
is one of:never
net_kernel(3)
.
once
net_kernel(3)
.
permissions = [Perm]
Perm = {ApplName,Bool}
ApplName = atom()
Bool = boolean()
application(3)
, function
permit/2
.error_logger = Value
Value
is one of:tty
stdio
.
This is the default option.
{file, FileName}
FileName
, where FileName
is a string.
false
global_groups = [GroupTuple]
global_group(3)
.GroupTuple = {GroupName, [Node]}
| {GroupName, PublishType, [Node]}
GroupName = atom()
PublishType = normal | hidden
Node = node()
inet_default_connect_options = [{Opt, Val}]
connect
sockets,
see inet(3)
.inet_default_listen_options = [{Opt, Val}]
listen
(and
accept
) sockets, see inet(3)
.{inet_dist_use_interface, ip_address()}
inet(3)
for the type definition of ip_address()
.
{inet_dist_listen_min, First}
{inet_dist_listen_max, Last}
First..Last
port range for the listener
socket of a distributed Erlang node.inet_parse_error_log = silent
error_logger
messages are generated when erroneous
lines are found and skipped in the various Inet configuration
files.inetrc = Filename
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 maximum 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.net_ticktime = TickTime
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.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.TickTime
value specified.sync_nodes_mandatory = [NodeName]
sync_nodes_optional = [NodeName]
sync_nodes_timeout = integer() | infinity
global
is
synchronized.start_ddll = true | false
ddll_server
if the parameter is true
(see erl_ddll(3)
). This parameter should be set to
true
an embedded system which uses this service.false
.start_dist_ac = true | false
dist_ac
server if the parameter is
true
. This parameter should be set to true
for
systems that use distributed applications.false
. If this parameter is
undefined, the server is started if the parameter
distributed
is set.start_boot_server = true | false
boot_server
if the parameter is true
(see erl_boot_server(3)
). This parameter should be
set to true
in an embedded system which uses this
service.false
.boot_server_slaves = [SlaveIP]
start_boot_server
configuration parameter is
true
, this parameter can be used to initialize
boot_server
with a list of slave IP addresses.
SlaveIP = string() | atom |
{integer(),integer(),integer(),integer()}
0 <= integer() <=255
.SlaveIP
in atom, string and tuple form
are:'150.236.16.70', "150,236,16,70", {150,236,16,70}
.[]
.start_disk_log = true | false
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.false
.start_pg2 = true | false
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.false
.start_timer = true | false
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.false
.shutdown_func = {Mod, Func}
Mod = atom()
Func = atom()
application_controller
calls
when it starts to terminate. The function is called as:
Mod:Func(Reason)
, where Reason
is the terminate
reason for application_controller
, and it must
return as soon as possible for application_controller
to terminate properly.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), user(3)