4

在测试开源项目“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

从有关此功能的用户指南中,没有这样的限制。是虫子吗?

4

1 回答 1

6

正如您可以在此处确认的那样,无法将 list_to_pid/1 与外部 pid 一起使用。

如果你在谷歌上查看,我想你也可以找到 Ulf Wiger 开始的原始线程。

希望这可以帮助!

于 2012-05-07T10:48:18.910 回答