【发布时间】:2018-08-02 13:14:55
【问题描述】:
这是一个示例跟踪,我可以在同一个 Pid 上调用 erlang:monitor/2:
1> Loop = fun F() -> F() end.
#Fun<erl_eval.30.99386804>
2> Pid = spawn(Loop).
<0.71.0>
3> erlang:monitor(process, Pid).
#Ref<0.2485499597.1470627842.126937>
4> erlang:monitor(process, Pid).
#Ref<0.2485499597.1470627842.126942>
5> erlang:monitor(process, Pid).
#Ref<0.2485499597.1470627842.126947>
指令#4 和#5 返回的表达式与#3 不同,这意味着可以在当前进程和Pid 之间创建多个监视器引用。是否存在您需要或使用多个监视器引用到同一进程的实际案例?
我希望这将返回相同的引用(返回一个新的可能意味着旧的失败/崩溃),遵循与 link/1 相同的逻辑。
【问题讨论】:
标签: erlang erlang-shell