【发布时间】:2012-04-15 11:41:40
【问题描述】:
我们正在运行一个 erlang 程序 (ejabberd)。有时,我们需要通过将 erl shell 连接到这个正在运行的 erlang 程序来进行健康检查。
我正在尝试编写所有这些脚本,而不是键入 erl -sname r -remsh .... 然后在 erlang shell 中输入我的命令,我正在寻找直接从我的 bash shell 执行该命令并获取输出的方法。这可能吗?
在Odobenus的回答之后,我写了这个小脚本:
#!/usr/bin/env escript
%%! -sname r -setcookie `cat ~ejabberd/.erlang.cookie`
main([]) ->
Res = rpc:call(ejabberd@xmpp,mnesia,info,[]),
io:format("~p~n",[Res]).
问题是我收到“节点关闭”错误,尽管这些参数与我用来连接 erl:erl -sname r -remsh ejabberd@xmpp -setcookie `cat ~ejabberd/.erlang.cookie` 的参数完全相同
【问题讨论】: