[英]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.