在erlang shell中启动公共节点

时间:2012-03-29 02:14:32

标签: erlang

面对slave的问题:在Lion OS中启动/ 2,所以我必须在erlang shell中尝试另一个方向“使用os:cmd自动启动公共节点”。

一种方法是直接通过命令,另一种方式是通过bash文件。但两种方式都面临同样的问题。如果无法自动启动,我必须每次都手动启动节点。

Eshell V5.9  (abort with ^G)
(emacs@yus-iMac.local)1> os:cmd("erl -name abcd").
"Eshell V5.9  (abort with ^G)\n(abcd@yus-iMac.local)1> *** Terminating erlang ('abcd@yus-iMac.local')\n"
(emacs@yus-iMac.local)3> os:cmd("~/Documents/Project/node_start").
"Eshell V5.9  (abort with ^G)\n(abc@yus-iMac.local)1> *** Terminating erlang ('abc@yus-iMac.local')\n" 

bash文件内容如下:

#/bin/sh
erl -name abc

1 个答案:

答案 0 :(得分:2)

并不是说我真的很喜欢这种方法,但为了完成上述工作,你应该将“detached”参数传递给'erl'命令:

erl -name foo

1> os:cmd("erl -name bar -detached").
[]

2> net_adm:ping('bar@pigeon.local').
pong

3> nodes().
['bar@pigeon.local']

阅读doc

  

-detached

     

启动与系统控制台分离的Erlang运行时系统。用于运行守护进程和后台进程。暗示   -noinput。