net_adm
Module
net_adm
Module summary
Various Erlang net administration routines.
Description
This module contains various network utility functions.
Exports
dns_hostname(Host) -> {ok, Name} | {error, Host}
Types:
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}
Types:
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, Reason}
if the file cannot be read or the Erlang terms on the file cannot be interpreted.
localhost() -> Name
Types:
Name = string()
Returns the name of the local host. If Erlang was started with command-line flag -name
, Name
is the fully qualified name.
names() -> {ok, [{Name, Port}]} | {error, Reason}
names(Host) -> {ok, [{Name, Port}]} | {error, Reason}
Types:
Host = atom() | string() | inet:ip_address() Name = string() Port = integer() >= 0 Reason = address | file:posix()
Similar to epmd -names
, see erts:epmd(1)
. Host
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
Types:
Node = atom()
Sets up a connection to Node
. Returns pong
if it is successful, otherwise pang
.
world() -> [node()]
world(Arg) -> [node()]
Types:
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.
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 network nodes are not initially known.
Returns {error, Reason}
if host_file()
returns {error, Reason}
.
world_list(Hosts) -> [node()]
world_list(Hosts, Arg) -> [node()]
Types:
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)
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.