net_adm
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 Host
, or
{error, Host}
if no such name is found. See also
inet(3)
.
host_file() -> Hosts | {error, Reason}
Hosts = [Host]
Host = atom()
Reason = term()
Reads the .hosts.erlang
file, see the section
Files below. Returns the hosts in this file as a
list, or returns {error, Reason}
if the file could not
be read. See file(3)
for possible values of
Reason
.
localhost() -> Name
Name = string()
Returns the name of the local host. If Erlang was started
with the -name
command line flag, Name
is
the fully qualified name.
names() -> {ok, [{Name, Port}]} | {error, Reason}
names(Host) -> {ok, [{Name, Port}]} | {error, Reason}
Name = string()
Port = int()
Reason = address | term()
Similar to epmd -names
, see epmd(1)
.
Host
defaults to the local host. Returns the names and
associated port numbers of the Erlang nodes that epmd
at the specified host has registered.
Returns {error, address}
if epmd
is not
running. See inet(3)
for other possible values of
Reason
.
(arne@dunn)1> net_adm:names().
{ok,[{"arne",40262}]}
ping(Node) -> pong | pang
Node = node()
Tries to set up a connection to Node
. Returns
pang
if it fails, or pong
if it is successful.
world() -> [node()]
world(Arg) -> [node()]
Arg = silent | verbose
This function calls names(Host)
for all hosts which
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 were,
successfully pinged.
Arg
defaults to silent
.
If Arg == verbose
, 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 nodes in the network are not initially known.
Failure: {error, Reason}
if host_file()
returns {error, Reason}
.
world_list(Hosts) -> [node()]
world_list(Hosts, Arg) -> [node()]
Hosts = [Host]
Host = atom()
Arg = silent | verbose
As world/0,1
, but the hosts are given as argument
instead of being read from .hosts.erlang
.
Files
The .hosts.erlang
file 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 the .hosts.erlang
file must be one host
name per line. The host names must be within quotes as shown in
the following example:
'super.eua.ericsson.se'. 'renat.eua.ericsson.se'. 'grouse.eua.ericsson.se'. 'gauffin1.eua.ericsson.se'. ^ (new line)