使用Erlang主管时,我可以执行代码以响应孩子退出吗?

时间:2014-05-01 15:11:34

标签: erlang otp

当孩子退出时(正常或出错)我想采取一些行动。我使用的是erlang:monitor / 2吗?如果是这样,我怎么得到pid?另外,我能看出它停止的原因吗?

1 个答案:

答案 0 :(得分:2)

是的,显示器将完成这项工作。

你会回来的:{'DOWN', MonitorRef, Type, Object, Info}

对象是pid而Info是退出原因

您也可以使用link和trap_exit,但链接是双向的,因此如果父母去世,您可以随身携带该孩子。

获取子进程的PID的最简单方法是让子进程在启动时向侦听器(使用监视器的用户)注册。让它发送self()然后监听器可以监视该PID。