我可以通过 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
所以我有一个启动新进程的脚本和 return 你的 PID,我可以通过另一个 python 脚本的这个 PID 从另一个脚本发送消息吗?它们的脚本需要独立,因为它们被 erlang 端口调用到 python
这是流程
Erlang 调用 python 脚本 -> python 脚本 return 实例化进程的 PID -> Erlang 保存此 PID 以供之后使用 -> Erlang 可以在 [=19] 中调用另一个脚本=] 向第一个 PID
发送消息所以我想是这样,对不起我的英语。
老实说,我自己没有尝试过,但认为它会对你有所帮助。
您可以使用函数 python:cast/2
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