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
, 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 the .hosts.erlang
file, see the section
Files below. Returns the hosts in this file as a
list, or returns {error,
if the file could not
be read or the Erlang terms on the file could not be interpreted.
localhost() -> Name
Name = string()
Returns the name of the local host. If Erlang was started
with the -name
command line flag,
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 epmd(1)
.
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.
(arne@dunn)1> net_adm:names().
{ok,[{"arne",40262}]}
ping(Node) -> pong | pang
Node = atom()
Tries to set up a connection to
. Returns
pang
if it fails, or pong
if it is successful.
world() -> [node()]
world(Arg) -> [node()]
Arg = verbosity()
verbosity() = 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.
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 nodes in the network are not initially known.
Failure: {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
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)