如何查看后台运行的Erlang应用程序控制台?
我正在使用 rebar 来发布 erlang 应用程序的版本,当我使用 start 选项启动应用程序时,它在后台运行良好,并且它返回命令提示符。我不想看到所有后台输出,所以我没有使用控制台选项运行。但是,如果我需要随时了解后台发生的情况,检查由于任何错误而导致的控制台,如何获取正在运行的应用程序的控制台?
I am using rebar for release build of erlang application, when I use start option to start the application it is running fine in background and It returns me the command prompt. I don't want to see all the background output, so I did not run using console option. But If I need any time what is going in background, to check the console due to any error, how do I get that running application's console?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我猜您已经使用 Rebar 进行了发布,并且已经使用生成的启动脚本启动了节点。
因此,最好的方法是使用启动选项“attach”:
它将通过管道连接到 shell,这样您将处于正在运行的实际节点中,因此使用 Ctrl-c 时要小心。 (将选项“+Bi”添加到您的 vm.args 文件中以限制这一点..)
I guess that you have made a release using Rebar and that you have started the node with the generated start script.
So the best way would be to use the start option 'attach':
It will connect to the shell through pipes so you will be in the actual node that are running so be careful with using Ctrl-c. (add the option "+Bi" to your vm.args file to restrict that..)
您可以将远程 shell 连接到节点,前提是它已设置为分发。使用以下命令:
You can connect a remote shell to the node, provided it's been set up for distribution. Use the following command:
按 Ctrl-G 进入 JCL 模式,然后按“j”列出列表,然后按“c”后跟数字以连接到所选作业。请参阅 eshell 文档,特别是 JCL 部分。
哦,或者如果“命令提示符”指的是 OS shell 而不是 Erlang shell,IIRC 您需要启动一个适当的 -name'd 或 -sname'd 的 Erlang 节点(无论您要连接到的节点使用哪个) ),然后连接到该节点(JCL 模式中的“r”),然后连接到作业。
Ctrl-G to enter JCL mode, then 'j' to list, then 'c' followed by a number to connect to the chosen job. See the eshell docs, specifically the JCL section.
Oh, or if by 'command prompt' you mean an OS shell rather than an Erlang shell, IIRC you need to start an Erlang node that is appropriately -name'd or -sname'd (whichever the node you want to connect to uses), then connect to that node ('r' in JCL mode), then connect to the job.