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

时间:2017-08-28 18:32:32

标签: python-3.x multiprocessing python-multiprocessing

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

这是流程

Erlang调用python脚本 - > python脚本返回即时进程的PID - > Erlang保存此PID以使用 - > Erlang可以在python中调用另一个脚本来向第一个PID发送消息

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

1 个答案:

答案 0 :(得分:1)

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

您可以使用函数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或此处python multiprocessing

查看详细说明