【问题标题】:Erlang - Is it possible to make the messages that appear on erlang shell appear on linux shell too?Erlang - 是否可以让出现在 erlang shell 上的消息也出现在 linux shell 上?
【发布时间】:2016-01-29 02:44:17
【问题描述】:

我创建了一个小型测试应用程序,当在 linux 机器上时,我希望看到出现在 erlang shell 上的消息也出现在 linux 上。我不确定它是怎么做到的,但是有可能吗?

我正在以分离模式(erlang shell)运行应用程序。

编辑:

我的意思是传递给 linux shell 的消息。

示例: 当我开始使用我的应用程序时,

test application <start/stop>

我会在 Linux shell 上收到一条消息测试应用程序已成功启动

但如果我想复制文件,我希望文件复制的进度能够显示在 Linux shell 上,

复制成功。复制的文件数:1
复制成功。复制的文件数:2
....

那么是否可以使用从 Erlang 传递到 Linux 的消息来完成上述操作?

【问题讨论】:

  • “在 linux 上也是如此”是什么意思? Linux 是操作系统,而不是消息框。你想把它打印到文件还是什么?还有你的意思是什么消息? io:format 或只是 erlang 消息 发送到 shell 进程,还是其他?
  • 一些sn-ps代码将有助于了解您拥有什么/想要做什么。

标签: erlang erlang-shell erlang-escript


【解决方案1】:

我相信您可以为此目的使用一些记录器。例如lager 可以同时将日志重定向到多个设施,例如文件和 erlang 控制台。

其他选项是使用“run_erl”,它是 erlang 发行版附带的实用程序,允许“重定向标准输入和标准输出流,以便记录所有输出”。

试试erl -man run_erl 或者你可以看到可以用rebar生成“release”,它会生成使用“run_erl”的启动脚本。

【讨论】:

    猜你喜欢
    • 2012-11-25
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 2014-02-10
    • 1970-01-01
    • 2019-03-26
    相关资源
    最近更新 更多