Erlang 在连接的节点上生成的进程获得相同的PID

Erlang 在连接的节点上生成的进程获得相同的PID,erlang,Erlang,我有四个Erlang节点在多进程应用程序上协同工作。 在我的命令中,一个进程是监视,它在区域上绘制进程的位置,另外三个节点处理进程的位置和移动。在监视器上,我使用ETS数据库存储关键点为过程PID时的位置。我注意到节点创建的进程具有相同的PID,显然会中断整个系统的管理 我已尝试将流程与以下内容联系起来: net\u adm:ping(…)。 net_内核:连接(…)。 我希望当节点相互感知时,它们会给出不同的PID,但这不起作用。PID可以打印相同的,例如,但这只是一种输出约定:本地节点上的

我有四个Erlang节点在多进程应用程序上协同工作。 在我的命令中,一个进程是监视,它在区域上绘制进程的位置,另外三个节点处理进程的位置和移动。在监视器上,我使用ETS数据库存储关键点为过程PID时的位置。我注意到节点创建的进程具有相同的PID,显然会中断整个系统的管理

我已尝试将流程与以下内容联系起来:

net\u adm:ping(…)。
net_内核:连接(…)。

我希望当节点相互感知时,它们会给出不同的PID,但这不起作用。

PID可以打印相同的,例如
,但这只是一种输出约定:本地节点上的PID打印时第一个数字是
0
。如果您将此PID发送到另一个节点并在那里打印,它将被打印为
或类似格式。Pid始终与进程正在运行的节点的名称相关联,您可以使用
节点(Pid)
将其提取出来。因此,来自不同节点的PID永远不会比较相等


深入了解PID结构的更多细节。

没错,我刚刚从不同的节点发送了self(),虽然它在发送节点上显示了后缀为0的PID,但在接收节点上显示了后缀为6832的PID。非常感谢你!