gpt4 book ai didi

ubuntu - 在 Ubuntu 10.4 中使用自定义 Erlang 时,在 escript 中启动 Erlang 从节点失败

转载 作者:行者123 更新时间:2023-12-04 08:53:36 24 4
gpt4 key购买 nike

我有以下脚本:

#!/usr/bin/env escript
%%! -name test_starter@127.0.0.1

main(_) ->
NodeName = test,
Host = '127.0.0.1',
Args = "",

{ok, _Node} = slave:start_link(Host, NodeName, Args),
io:format("Node started successfully!").

在 Ubuntu 10.04 上运行它时,我得到了这个:
$ ./start_slave
Node started successfully!
$

我想安装我自己的 Erlang(最新版本,调试透析器的编译文件等),因为在 Ubuntu 上安装 Erlang 缺少一些功能。我将我的 Erlang 二进制文件放入 ~/Applications/bin .启动 Erlang 通常可以正常工作,并且在 Erlang shell 中启动从节点也可以正常工作。

但是,现在我的 escript 不起作用。大约 60 秒后,它返回一个错误:
$ ./start_slave                                   
escript: exception error: no match of right hand side value {error,timeout}

即使我将第一行更改为 escript 以使用我的 erlang 版本,它仍然不起作用:
#!/home/user/Applications/bin/escript

从节点通过调用 erlang:open_port/2 启动。似乎在使用 sh这反过来又不读我的 .bashrc设置我的自定义的文件 PATH环境变量。超时似乎发生在 slave:start_link/3 时。等待从节点响应,它从不响应。

如何在 Ubuntu 10.4 上滚动我自己的 Erlang 安装并在 escripts 中启动从节点?

更新:我尝试在 /etc/environment 中添加自定义 Erlang 的路径(在 Ubuntu 中设置了原始 PATH)但这并没有改变任何东西......

更新 2:接受给出的唯一答案(即使它没有解决问题)。 Ubuntu 和 Erlang 版本现在有点老了,这可能不再是问题了。

最佳答案

从节点是否有可能与其他 Erlang 安装一起运行?列在 the documentation on slave nodes 中超时错误的原因下我看到“Erlang 节点有不同的 cookie”,我相信这种情况可能会发生。

如果是这种情况,运行 ps -FC erlang在等待超时时,应该向您显示具有不同路径的进程。

关于ubuntu - 在 Ubuntu 10.4 中使用自定义 Erlang 时,在 escript 中启动 Erlang 从节点失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2922201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com