API Reference kernel v8.0.2
Modules
In OTP, application denotes a component implementing some specific functionality, that can be started and stopped as a unit, and that can be reused in other systems. This module interacts with application controller, a process started at every Erlang runtime system. This module contains functions for controlling applications (for example, starting and stopping applications), and functions to access information about applications (for example, configuration parameters).
This module is deprecated. For a description of the Magic Cookie system, refer to Distributed Erlang in the Erlang Reference Manual.
This module contains the interface to the Erlang code server, which deals with the loading of compiled code into a running Erlang runtime system.
disk_log
is a disk-based term logger that enables efficient logging of items on files.
This server is used to assist diskless Erlang nodes that fetch all Erlang code from another machine.
This module provides an interface for loading and unloading Erlang linked-in drivers in runtime.
This module communicates with the EPMD daemon, see epmd. To implement your own epmd module please see ERTS User's Guide: How to Implement an Alternative Node Discovery for Erlang Distribution
This module provide services similar to Remote Procedure Calls. A remote procedure call is a method to call a function on a remote node and collect the answer. It is used for collecting information on a remote node, or for running a function with some specific side effects on the remote node.
This module defines what happens when certain types of errors occur.
In Erlang/OTP 21.0, a new API for logging was added. The old error_logger
module can still be used by legacy code, but log events are redirected to the new Logger API. New code should use the Logger API directly.
This module provides an interface to the file system.
This module provides functions for communicating with sockets using the SCTP protocol. The implementation assumes that the OS kernel supports SCTP (RFC 2960) through the user-level Sockets API Extensions.
This module provides functions for communicating with sockets using the TCP/IP protocol.
This module provides functions for communicating with sockets using the UDP protocol.
This module consists of the following services
This module makes it possible to partition the nodes of a system into global groups. Each global group has its own global namespace, see global(3)
.
This modules contains the interface to the heart
process. heart
sends periodic heartbeats to an external port program, which is also named heart
. The purpose of the heart
port program is to check that the Erlang runtime system it is supervising is still running. If the port program has not received any heartbeats within HEART_BEAT_TIMEOUT
seconds (defaults to 60 seconds), the system can be rebooted.
This module provides access to TCP/IP protocols.
This module performs DNS name resolving to recursive name servers.
This module implements the main API for logging in Erlang/OTP. To create a log event, use the API functions or the log macros, for example
This is a handler for Logger that offers circular (wrapped) logs by using disk_log
. Multiple instances of this handler can be added to Logger, and each instance prints to its own disk log file, created with the name and settings specified in the handler configuration.
All functions exported from this module can be used as primary or handler filters. See logger:add_primary_filter/2
and logger:add_handler_filter/3
for more information about how filters are added.
Each Logger handler has a configured formatter specified as a module and a configuration term. The purpose of the formatter is to translate the log events to a final printable string (unicode:chardata()
) which can be written to the output device of the handler. See sections Handlers and Formatters in the Kernel User's Guide for more information.
This is the standard handler for Logger. Multiple instances of this handler can be added to Logger, and each instance prints logs to standard_io
, standard_error
, or to file.
This module provides an API for the network interface.
This module contains various network utility functions.
The net kernel is a system process, registered as net_kernel
, which must be operational for distributed Erlang to work. The purpose of this process is to implement parts of the BIFs spawn/4
and spawn_link/4
, and to provide monitoring of the network.
The functions in this module are operating system-specific. Careless use of these functions results in programs that will only run on a specific platform. On the other hand, with careful use, these functions can be of help in enabling a program to run on most platforms.
This module implements process groups. A message can be sent to one, some, or all group members.
This module contains services similar to Remote Procedure Calls. It also contains broadcast facilities and parallel evaluators. A remote procedure call is a method to call a function on a remote node and collect the answer. It is used for collecting information on a remote node, or for running a function with some specific side effects on the remote node.
Sequential tracing makes it possible to trace information flows between processes resulting from one initial transfer of information. Sequential tracing is independent of the ordinary tracing in Erlang, which is controlled by the erlang:trace/3
BIF. For more information about what sequential tracing is and how it can be used, see section Sequential Tracing.
This module provides an API for network socket. Functions are provided to create, delete and manipulate the sockets as well as sending and receiving data on them.
user
is a server that responds to all messages defined in the I/O interface. The code in user.erl
can be used as a model for building alternative I/O servers.
This module makes it possible to read internally formatted wrap disk logs, see disk_log(3)
. wrap_log_reader
does not interfere with disk_log
activities; there is however a bug in this version of the wrap_log_reader
, see section Known Limitations.