我现在面临一个问题。当我检查erl_crash。转储,我发现一些东西如下:
=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>}**, ...]
在程序<0.19275.17>的链接列表中有类似{from, Pid, Ref}的东西。我不知道这些奇怪的进程标识符是什么。我想这可能与"过程监控"有关。我说的对吗?我还想知道如何生成这样的进程标识符以及如何使用它们?
提前感谢:)
这意味着该进程受到其他进程的监视。从文档:
如果使用进程监控,该字段还告诉在哪个监视生效的方向,即"到"a的链接进程告诉您"当前"进程正在监视另一个进程一个"来自"一个过程的链接告诉你另一个过程是
您可以在这里找到更多信息
我认为{from,<6524.13.0>,#Ref<6524.0.1.37040>}是你注册了一个全局名称,所以全局名称服务器正在监视这个过程。
更多信息:http://www.erlang.org/doc/man/global.html