【发布时间】:2010-11-09 08:25:19
【问题描述】:
当拥有派生端口的进程死亡并被主管重新启动时会发生什么?
有没有办法让老港口不随主人一起死去,让新主人“接管”?
如果做不到这一点,是否可以确保生成的进程在其端口死亡时终止?
【问题讨论】:
标签: erlang erlang-ports
当拥有派生端口的进程死亡并被主管重新启动时会发生什么?
有没有办法让老港口不随主人一起死去,让新主人“接管”?
如果做不到这一点,是否可以确保生成的进程在其端口死亡时终止?
【问题讨论】:
标签: erlang erlang-ports
首先,请注意您不希望端口所有者死亡。因此,将任何“危险”代码移至另一个进程,并使端口所有者尽可能地愚蠢。这是 Erlang 的错误缓解方式。现在,如果那个进程死掉了,那就是真的很糟糕,所以在这种情况下,回收端口也可能是聪明的。但既然我们把所有东西都搬走了,我们就指望这不会发生。
关于 2,端口将在终止时发送特定消息,因此您可以安排您的衍生进程优雅地检测到这一点并以它终止。见
【讨论】: