如何多次启动gen_server模块

时间:2016-09-20 14:46:05

标签: erlang gen-server

在erlang中,当我通过包含参数的start_link(A)启动gen_server模块时,我无法通过更改A来启动它两次。在控制台上,它显示{error,{已启动,< 0.61 0.0>}}。我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:4)

您的start_link电话可能看起来像这样:

gen_server:start_link({local, foo}, bar, [], [])

这意味着,使用bar作为回调模块启动gen_server,并在本地节点上注册名为foo的新进程。如果已经有一个名为foo的流程,您将收到already_started错误。

要启动没有注册名称的gen_server,从而可以启动任意数量的gen_server,只需删除第一个参数:

gen_server:start_link(bar, [], [])