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).