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

如何查看正在后台运行的Erlang应用程序控制台?,erlang,rebar,Erlang,Rebar,我正在使用rebar发布erlang应用程序,当我使用start选项启动应用程序时,它在后台运行良好,并返回命令提示符。我不想看到所有的后台输出,所以我没有使用控制台选项运行。但是,如果我需要在任何时候检查后台发生的任何错误导致的控制台,那么如何获取正在运行的应用程序的控制台呢 Ctrl-G进入JCL模式,然后“j”进入列表,然后“c”后跟一个数字连接到所选作业。请参阅,特别是JCL部分 哦,或者如果“命令提示符”指的是操作系统外壳而不是Erlang外壳,IIRC您需要启动一个适当的-name'

我正在使用rebar发布erlang应用程序,当我使用start选项启动应用程序时,它在后台运行良好,并返回命令提示符。我不想看到所有的后台输出,所以我没有使用控制台选项运行。但是,如果我需要在任何时候检查后台发生的任何错误导致的控制台,那么如何获取正在运行的应用程序的控制台呢

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


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

我猜您已经使用钢筋发布了一个版本,并且已经使用生成的启动脚本启动了节点

因此,最好的方法是使用开始选项“附加”:

./bin/mynode attach

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

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

erl -sname rem -remsh node@host -setcookie the_cookie -hidden