[英]Unable to spawn process on another node in Erlang
当我尝试使用以下方法在单独的节点上创建新进程时
Pid = spawn(mynode, mymodule, myfunction, [self()])
( myfunction/1
已导出),出现此错误:
Error in process <0.10.0> on node 'no@de1' with exit value:
{undef,[{mymodule, myfunction, [<33.64.0>], []}]}
我尝试设置-compile(export_all)
标志,但是假设错误日志中有其他花括号,则不是这种情况。 我不知道是什么导致错误,也不知道该怎么办。
您是否检查模块mymodule
在no @ de1的路径中?
使用spawn(mynode,mymodule,myfunction,[self()])刷新进程时,VM需要在执行代码之前先加载代码。
如果以这种方式使用spawn(Node, Fun)
这样的高阶函数(一个有趣的函数spawn(Node, Fun)
,则在路径中包含代码并不是必须的(但要注意,在函数定义中对函数的任何调用都必须是在远程节点上解决)
转到no @ de1并运行m(mymodule).
它应阐明该模块是否可加载以及导出哪些功能。
还:检查另一个节点是否可达。 在其上执行net_adm:ping
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.