Erlang:对港口所有者死亡的坚定性

Ale*_*nov 6 erlang erlang-ports

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

  1. 有没有办法让旧港口不与其所有者一起死亡,让新主人"接管"?

  2. 如果失败了,是否有可能确保当端口死亡时生成的进程终止?

I G*_*ERS 5

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

关于2,端口将在终止时发送特定消息,因此您可以安排生成的进程正常检测并终止它.看到

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