我希望能够有两个Erlang shell进行交谈。我在OS X上运行。
我尝试了tut17示例here。
我也尝试过:
$ erl -sname foo
然后在新的终端中:
$ erl -sname bar
(bar@elife)1> net_adm:ping(foo@elife).
pang
有任何想法吗?
最佳答案
在Mac上有点坏了。默认情况下,mac无法解析自己的简称。您的主持人的名字实际上可能是“elife.local”。
如果以-name FQDN开始erl,则ping命令将起作用。
即:您将以
$ erl -name [email protected]
可以通过使Mac能够解析其自己的简称来解决此问题
这是我的Mac的示例输出。当我执行-sname时,得到的结果与您相同。
第一个节点:
$ erl -name [email protected]
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
([email protected])1>
另一个节点:
$ erl -name [email protected]
Erlang R13B03 (erts-5.7.4) [source] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]
Eshell V5.7.4 (abort with ^G)
([email protected])1> net_adm:ping('[email protected]').
pong
关于macos - 让两个erl shell在OS X上进行对话,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2136918/