当孩子退出时(正常或出错)我想采取一些行动。我使用的是erlang:monitor / 2吗?如果是这样,我怎么得到pid?另外,我能看出它停止的原因吗?
答案 0 :(得分:2)
是的,显示器将完成这项工作。
你会回来的:{'DOWN', MonitorRef, Type, Object, Info}
对象是pid而Info是退出原因
您也可以使用link和trap_exit,但链接是双向的,因此如果父母去世,您可以随身携带该孩子。
获取子进程的PID的最简单方法是让子进程在启动时向侦听器(使用监视器的用户)注册。让它发送self()然后监听器可以监视该PID。