【问题标题】:start common node in erlang shell在 erlang shell 中启动公共节点
【发布时间】:2012-03-29 17:12:10
【问题描述】:

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

一种方式是直接通过命令,另一种方式是通过 bash 文件。但两种方式都面临同样的问题。如果不能自动启动,每次都要手动启动node。

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

【问题讨论】:

    标签: erlang


    【解决方案1】:

    并不是说我真的很喜欢这种方法,但要完成上述工作,您应该将“分离”参数传递给“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

    -分离

    启动与系统控制台分离的 Erlang 运行时系统。对于运行守护进程和后台进程很有用。暗示 -无输入。

    【讨论】:

      猜你喜欢
      • 2011-02-09
      • 2011-03-11
      • 1970-01-01
      • 2012-10-07
      • 2011-12-04
      • 2011-06-18
      • 2013-11-23
      • 1970-01-01
      • 2011-02-24
      相关资源
      最近更新 更多