在测试开源项目“gproc”功能时,我发现 list_to_pid 对于本地 pid 是可以的,而对于远程 pid 是不行的。我的 erlang 运行时是 R15B。
(dist_test_n2@yus-iMac.local)29> D = list_to_pid("<0.239.0>").
<0.239.0>
(dist_test_n2@yus-iMac.local)30> D == self(). %% equal here
true
(dist_test_n2@yus-iMac.local)31> f(E).
ok
(dist_test_n2@yus-iMac.local)32> E = gproc:where(Name).
<8969.239.0>
(dist_test_n2@yus-iMac.local)33> F = list_to_pid("<8969.239.0>").
<8969.239.0>
(dist_test_n2@yus-iMac.local)34> F == E. %% not equal here
false
从有关此功能的用户指南中,没有这样的限制。是虫子吗?