我有三个Erlang节点在不同的机器上运行,启动如下:
erl -sname test@box1 -cookie cookie (on one machine)
erl -sname test@box2 -cookie cookie (on another machine)
erl -sname test@box3 -cookie cookie (on a third machine)
Box1是主人。 Box2和Box3是工人。当Box1向Box2和Box3发送任务时,它们都会响应结果。但是,在这一点上,Box1只知道盒子2和3上的Erlang进程的pid。在给定pid的情况下,有没有办法获得远程进程的sname?或者远程进程是否必须发回其主机名?
答案 0 :(得分:3)
您可以使用node / 1功能:
3> node(self()).
nonode@nohost