【发布时间】:2011-09-07 18:42:10
【问题描述】:
这是我的问题:
我有一组 gen_servers,它们在没有名称的情况下启动,并且在 init 函数期间使用 pg2:join(group, self()). 直到这里它工作正常。
我在终止函数 pg2:leave(group, self()). 中使用过,但如果我终止使用 pg2:get_members(group). 检索到的 pid 之一,则被终止进程的 pid 仍在 pg2:get_members(group). 给出的列表中
我尝试通过调用 gen_server 来使用 leave 函数,在这种情况下它工作正常。
你能告诉我有什么问题吗?
谢谢
【问题讨论】:
-
它应该像你描述的那样工作。我可以停止、崩溃或退出(Pid,kill)一个 gen_server,它会正确地离开 pg2 组。你能显示一些代码吗?
-
@stritzinger 对此感到抱歉。刚开始使用此站点时不知道该功能。刚刚修好。谢谢
-
@butter71 我会尽快发布。我不得不说,在那个过程中我使用了 trapexit ......但是:不应该在不调用 leave 函数的情况下从组中删除一个死进程???
标签: erlang