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 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 or the Erlang terms on the file could not be interpreted.
localhost() -> Name
Types:
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}
Types:
Host = atom() | string() | inet:ip_address() Name = string() Port = integer() >= 0 Reason = address | file:posix()
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.
(arne@dunn)1> net_adm:names(). {ok,[{"arne",40262}]}
ping(Node) -> pong | pang
Types:
Node = atom()
Tries to set up a connection to Node
. Returns pang
if it fails, or pong
if it is successful.
world() -> [node()]
world(Arg) -> [node()]
Types:
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.
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()]
Types:
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)
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.