3

我正在使用 rebar 来发布 erlang 应用程序的版本,当我使用 start 选项启动应用程序时,它在后台运行良好,它返回命令提示符。我不想看到所有的后台输出,所以我没有使用控制台选项运行。但是,如果我需要任何时间在后台发生什么,由于任何错误而检查控制台,我如何获得正在运行的应用程序的控制台?

4

3 回答 3

2

我猜您已经使用 Rebar 进行了发布,并且您已经使用生成的启动脚本启动了节点。

所以最好的方法是使用启动选项“附加”:

./bin/mynode attach

它将通过管道连接到外壳,因此您将处于正在运行的实际节点中,因此请小心使用 Ctrl-c。(将选项“+Bi”添加到您的 vm.args 文件以限制它..)

于 2012-02-16T12:32:09.273 回答
1

您可以将远程 shell 连接到节点,前提是它已设置为分发。使用以下命令:

erl -sname rem -remsh node@host -setcookie the_cookie -hidden
于 2015-02-24T09:40:37.943 回答
0

Ctrl-G 进入 JCL 模式,然后按 'j' 列出,然后按 'c' 后跟一个数字以连接到所选作业。请参阅eshell 文档,特别是 JCL 部分。

哦,或者如果“命令提示符”是指 OS shell 而不是 Erlang shell,IIRC 你需要启动一个适当的 Erlang 节点 -name'd 或 -sname'd (无论你想连接到哪个节点使用),然后连接到该节点(JCL 模式中的“r”),然后连接到作业。

于 2012-02-16T09:16:24.783 回答