我可以通过 pid 向另一个 python 进程发送消息吗?

Can I send message to another python process by pid?

所以我有一个启动新进程的脚本和 return 你的 PID,我可以通过另一个 python 脚本的这个 PID 从另一个脚本发送消息吗?它们的脚本需要独立,因为它们被 erlang 端口调用到 python

这是流程

Erlang 调用 python 脚本 -> python 脚本 return 实例化进程的 PID -> Erlang 保存此 PID 以供之后使用 -> Erlang 可以在 [=19] 中调用另一个脚本=] 向第一个 PID

发送消息

所以我想是这样,对不起我的英语。

老实说,我自己没有尝试过,但认为它会对你有所帮助。

您可以使用函数 python:cast/2

通过 ErlPort 将直接消息从 Erlang 发送到 Python
python:cast(Instance, Message) -> ok 

在您需要启动 python 应用程序并获取 PID 之前

{ok, Pid} = python:start(),

然后直接发送消息给python模块

{ok, Res} = python:call(Pid, 'py_module_name', func_in_py_module, [<<"Test_Message">>]),

您可以在此处查看详细说明erlport python-cast or here python multiprocessing