Various Erlang net administration routines.
This module contains various network utility functions.
Functions
dns_hostname(Host) -> {ok, Name} | {error, Host}
Host = atom() | string()
Name = string()
Returns the official name of
, or
{error,
if no such name is found. See also
inet(3)
.
host_file() -> Hosts | {error, Reason}
Hosts = [Host :: atom()]
Reason =
file:posix() |
badarg | terminated | system_limit |
{Line :: integer(), Mod :: module(), Term :: term()}
Reads file .hosts.erlang
, see section
Files. Returns the hosts in this
file as a list. Returns {error,
if the
file cannot be read or the Erlang terms on the file cannot be
interpreted.
localhost() -> Name
Name = string()
Returns the name of the local host. If Erlang was started
with command-line flag -name
,
is
the fully qualified name.
names() -> {ok, [{Name, Port}]} | {error, Reason}
Name = string()
Port = integer() >= 0
Reason = address | file:posix()
names(Host) -> {ok, [{Name, Port}]} | {error, Reason}
Host = atom() | string() | inet:ip_address()
Name = string()
Port = integer() >= 0
Reason = address | file:posix()
Similar to epmd -names
, see
erts:epmd(1)
.
defaults to the local host. Returns the
names and associated port numbers of the Erlang nodes that
epmd
registered at the specified host. Returns
{error, address}
if epmd
is not operational.
Example:
(arne@dunn)1> net_adm:names().
{ok,[{"arne",40262}]}
ping(Node) -> pong | pang
Node = atom()
Sets up a connection to
. Returns
pong
if it is successful, otherwise pang
.
world() -> [node()]
world(Arg) -> [node()]
Arg = verbosity()
verbosity() = silent | verbose
Calls names(Host)
for all hosts that
are specified in the Erlang host file .hosts.erlang
,
collects the replies, and then evaluates ping(Node)
on
all those nodes. Returns the list of all nodes that are
successfully pinged.
defaults to silent
.
If
, the function writes
information about which nodes it is pinging to stdout
.
This function can be useful when a node is started, and the names of the other network nodes are not initially known.
Returns {error, Reason}
if host_file()
returns {error, Reason}
.
world_list(Hosts) -> [node()]
Hosts = [atom()]
world_list(Hosts, Arg) -> [node()]
Hosts = [atom()]
Arg = verbosity()
verbosity() = silent | verbose
Same as world/0,1
,
but the hosts are specified as argument
instead of being read from .hosts.erlang
.
Files
File .hosts.erlang
consists of a number of host names
written as Erlang terms. It is looked for in the current work
directory, the user's home directory, and $OTP_ROOT
(the root directory of Erlang/OTP), in that order.
The format of file .hosts.erlang
must be one host
name per line. The host names must be within quotes.
Example:
'super.eua.ericsson.se'. 'renat.eua.ericsson.se'. 'grouse.eua.ericsson.se'. 'gauffin1.eua.ericsson.se'. ^ (new line)