如何查看在backgroud中运行的Erlang应用程序控制台?

问题描述:

我使用rebar来发布构建erlang应用程序,当我使用启动选项来启动应用程序时,它在后台运行良好,并返回给我的命令提示符。我不想看到所有的背景输出,所以我没有运行使用控制台选项。但是,如果我需要任何时间进行后台操作,出于任何错误检查控制台,如何获取正在运行的应用程序的控制台?如何查看在backgroud中运行的Erlang应用程序控制台?

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

哦,或者,如果'命令提示符'表示OS shell而不是Erlang shell,那么IIRC需要启动一个适当地命名为'orname'的Erlang节点(无论您想要的节点连接到使用),然后连接到该节点(JCL模式下的'r'),然后连接到该作业。

我想你已经使用钢筋做了一个版本,并且你已经用生成的启动脚本启动了节点。

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

将通过管道连接到外壳,所以你会在运行,因此实际的节点要小心使用按Ctrl-C。 (在vm.args文件中添加选项“+ Bi”以限制该..)

如果已将远程外壳设置为分发,则可以将远程外壳连接到该节点。使用以下命令:

erl -sname rem -remsh [email protected] -setcookie the_cookie -hidden