Erlang 将流程组保留在终止功能中

Erlang 将流程组保留在终止功能中,erlang,Erlang,这是我的问题: 我有一组gen_服务器,它们启动时没有名字,在init函数期间使用pg2:join(group,self())。直到这里它工作正常 我在终止函数中使用了pg2:leave(group,self())。但是如果我杀死使用pg2:get_成员(group)检索到的一个pid。被杀死进程的pid仍然在pg2:get_成员(group)给出的列表中。 我试图通过gen_服务器调用来使用leave函数,在这种情况下,它可以正常工作 你能告诉我怎么了吗 谢谢这在erlang版本上是个问题。在

这是我的问题:

我有一组gen_服务器,它们启动时没有名字,在init函数期间使用
pg2:join(group,self())。
直到这里它工作正常

我在终止函数中使用了
pg2:leave(group,self())。
但是如果我杀死使用
pg2:get_成员(group)检索到的一个pid。
被杀死进程的pid仍然在
pg2:get_成员(group)给出的列表中。

我试图通过gen_服务器调用来使用leave函数,在这种情况下,它可以正常工作

你能告诉我怎么了吗


谢谢

这在erlang版本上是个问题。

在erlang版本上是个问题。

它应该像您描述的那样工作。我可以停止、崩溃或退出(Pid、kill)gen_服务器,它将正确地离开pg2组。你能给我看一些代码吗?@stritzinger很抱歉。在这个网站上启动时不知道这个功能。刚刚修好。thanks@butter71我会尽快把它寄出去。我不得不说,在这个过程中,我使用了trapexit…但是:难道不应该在不调用leave函数的情况下从组中删除一个死流程吗???它应该像您描述的那样工作。我可以停止、崩溃或退出(Pid、kill)gen_服务器,它将正确地离开pg2组。你能给我看一些代码吗?@stritzinger很抱歉。在这个网站上启动时不知道这个功能。刚刚修好。thanks@butter71我会尽快把它寄出去。我不得不说,在这个过程中,我使用了trapexit……但是,那么:不调用leave函数就不能从组中删除一个死进程吗???