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

 手机用户2602901563 发布于 2023-01-01 10:51

我有4个erlang节点在多进程应用程序上一起工作.在我的订单中,一个进程是监视器,它在区域上绘制进程的位置,另外3个节点处理进程的位置和移动.在监视器上,当密钥是进程PID时,我使用ETS数据库存储位置,我注意到节点创建的进程具有相同的PID,这显然会中断整个系统的管理.

我试图将进程连接到:

net_adm:ping(...).
net_kernel:connect(...).

希望当节点彼此意识到时,他们会给出不同的PID,但是没有用.

1 个回答
  • PID可以打印相同,例如<0.42.0>,但这只是输出约定:本地节点上的PID打印有第一个数字0.如果您将此PID发送到另一个节点并在那里打印,它将被打印为<2265.42.0>或类似.PID始终与运行进程的节点的名称相关联,您可以使用它来提取它node(Pid).因此,来自不同节点的PID永远不会相等.

    这个答案详细介绍了PID的结构.

    2023-01-01 10:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有