6

当拥有派生端口的进程死亡并由主管重新启动时会发生什么?

  1. 有没有办法让老港口不随主人一起死去,让新主人“接管”?

  2. 如果做不到这一点,是否可以确保生成的进程在其端口死亡时终止?

4

1 回答 1

5

首先,请注意您不希望端口所有者死亡。因此,将任何“危险”代码移至另一个进程,并使端口所有者尽可能愚蠢。这是 Erlang 的错误缓解方式。现在,如果那个进程死掉了,那么事情就很糟糕了,所以在这种情况下,回收端口也可能是聪明的。但既然我们把所有东西都搬走了,我们就指望这不会发生。

关于 2,端口将在终止时发送特定消息,因此您可以安排您的衍生进程优雅地检测到这一点并终止它。看

http://www.erlang.org/doc/reference_manual/ports.html

于 2010-11-09T00:25:19.013 回答