【问题标题】:How to see Erlang application Console which is running in backgroud?如何查看后台运行的 Erlang 应用程序控制台?
【发布时间】:2015-02-24 17:40:37
【问题描述】:

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

【问题讨论】:

    标签: erlang rebar


    【解决方案1】:

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

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

    ./bin/mynode attach
    

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-02-10
          • 1970-01-01
          • 1970-01-01
          • 2013-02-11
          • 1970-01-01
          • 2013-06-30
          • 2016-12-18
          • 2019-01-30
          • 2011-01-22
          相关资源
          最近更新 更多