【问题标题】:Something missing in the erlang development workflowerlang 开发工作流程中缺少一些东西
【发布时间】:2013-05-01 00:44:49
【问题描述】:

我是 erlang 和 rebar 的新手

最近我阅读了关于钢筋的教程

但我觉得缺少一些东西,例如在compilegenerate 之后我使用以下命令运行我的应用程序rel/${nodeid}/bin/${nodeid} console 测试代码等但是当我关闭控制台时我总是需要杀死我自己epmd.exe (来自进程资源管理器)。

有一些关于钢筋使用更完整的教程吗?

【问题讨论】:

标签: erlang rebar


【解决方案1】:

epmd 是 erlang 端口映射器守护进程。如果它不存在,它会自动启动,并且默认行为是在任何 erlang VM 停止后继续运行。

我不知道任何改变这种行为的选项,只要没有更多的节点被注册,命令 epmd -kill 应该终止进程。您可以使用命令 epmd -names 来检查它

【讨论】:

  • 这在 Windows 上更加严重,因为 Windows 会锁定所有正在运行的可执行文件。所以为了生成一个新的release,epmd进程必须被杀死,否则,你不能删除生成的release目录。
【解决方案2】:

epmd 永久运行通常没有问题。这里发生的是工作流不断创建 epmd.exe,启动它然后尝试删除它 - 这在 Windows 上不起作用。

我发现的最简单的解决方法是在您的目录层次结构之外开始epmd你运行rebar。例如

     "C:\Program Files\erl5.9.3.1\erts-5.9.3.1\bin\epmd"

如果它已经在运行,那么 Erlang 运行时将不会尝试从您的发布文件夹启动它。

【讨论】:

    猜你喜欢
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2013-10-20
    相关资源
    最近更新 更多