Erlang进程监控自身

Dea*_*nes 4 erlang process monitor self

我正在尝试在Erlang中创建一个可以监视自身并重新启动它的进程.到目前为止,我根本没有运气,所以没有任何代码可以显示.这在Erlang中是否可能,如果是这样,怎么样?

编辑:J Fritsch发布了一个样本的链接,该样本只监视自己但只有一次.如果退出(医生,医生).使用两次它第二次不起作用.有关如何绕过这个的任何想法?

Mar*_*tos 10

如果进行监测的过程就是那个正在进行监视的过程,那么你总会陷入困境.

使用主管.

  • 这是哪本书?一旦一个过程已经死亡,那么它**真的已经死了并且已经消失,因此无法做任何事情.您需要另一个进程来监视它.这是监督员和工人的基础. (3认同)
  • 在进程的main函数周围包装一个try-catch,并让函数从catch内部递归调用.你还必须设置trap_exit.我不确定,但也有一些方法可以让你的过程无法捕获. (2认同)