在Erlang中注册和spawn_link不能一起工作

时间:2013-12-09 01:30:30

标签: erlang

我在node2上运行了一个进程。我可以在node1上使用register / 2注册这个进程吗?基本上我想这样做: register(process_name,spawn_link(node2,module,function,[Arg1,Arg2]))

我收到此错误: **异常错误:错误的参数      在函数寄存器/ 2中         称为寄存器(process_name,< 5902.92.0>)

当我在node1注册本地进程时,这非常正常。我找不到任何阻止注册其他节点进程的文档。

感谢。

1 个答案:

答案 0 :(得分:1)

实际上它已有详细记录,并且寄存器()的预期行为用于本地进程注册。 http://www.erlang.org/doc/man/erlang.html#register-2

  

失败:如果PidOrPort不是现有的 本地 进程或端口,则会发生错误,[...]

如果您希望在群集中进行全局注册,请阅读http://erlang.org/doc/man/global.html 请注意,如果您在大多数情况下使用标准OTP行为(gen_server等),则不需要直接使用全局模块。