5

我现在面临一个问题。当我检查 erl_crash.dump 时,我发现了一些如下内容:

=proc:<0.19275.17>  
State: Scheduled  
Spawned as: proc_lib:init_p/5  
Spawned by: <0.18723.17>  
Started: Wed May 8 13:30:40 2013  
Message queue length: 1  
Number of heap fragments: 0  
Heap fragment data: 0  
Link list: [<0.20051.17>, <0.9976.18>, ..., **{from,<6524.13.0>,#Ref<6524.0.1.37040>}, {from,<6474.13.0>,#Ref<6474.0.1.36682>}, {from,<6470.13.0>,#Ref<6470.0.1.34219>}**, ...]

proc <0.19275.17> 的链接列表中有类似{from, Pid, Ref}的东西。我不知道这些奇怪的形成过程标识符是什么。我想这可能与“过程监控”有关。我对吗?我仍然想知道如何生成这样的进程标识符以及如何使用它们?

先感谢您 :)

4

2 回答 2

5

这意味着该进程被其他进程监视。从文档:

如果使用进程监控,该字段还会告诉您监控在哪个方向生效,即“到”进程的链接告诉您“当前”进程正在监控另一个进程,而“来自”进程的链接告诉您您认为另一个进程正在监视当前进程。

你可以在这里找到更多信息

于 2013-05-14T10:37:11.973 回答
1

我认为 {from,<6524.13.0>,#Ref<6524.0.1.37040>} 是您注册了一个全局名称,因此全局名称服务器正在监视此过程。

更多信息:http ://www.erlang.org/doc/man/global.html

于 2013-05-16T04:14:30.400 回答