net_adm:names/1
获取指定主机上 Erlang 节点的名字
用法:
names(Host) -> {ok, [{Name, Port}]} | {error, Reason}
内部实现:
-spec names(Host) -> {ok, [{Name, Port}]} | {error, Reason} when
Host :: atom() | string(),
Name :: string(),
Port :: non_neg_integer(),
Reason :: address | file:posix().
names(Hostname) ->
case inet:gethostbyname(Hostname) of
{ok, {hostent, _Name, _ , _Af, _Size, [Addr | _]}} ->
erl_epmd:names(Addr);
Else ->
Else
end.
返回一个以 {Name, Port} 的元组形式组成的指定主机 Host 上的 Erlang 节点列表信息,Name 是节点名,Port 是 Erlang 节点端口。
如果 epmd 没有运行,则返回 {error, address}。
Host = net_adm:localhost(), net_adm:names(Host).