即使父进程死亡,Python BaseManager子进程也不会终止?

时间:2018-12-12 16:25:03

标签: node.js windows python-multiprocessing child-process spawning

情况:

我正在使用multiprocessing.managers.BaseManager([address[, authkey]])进行python跨进程通信。我现在有两个脚本,一个用作运行BaseManager.start()的基本管理器服务器,一个用作从服务器读取数据的客户端。

障碍物:

运行服务器脚本时,可以从Windows任务管理器中看到两个具有不同PID的python.exe。据我了解,一个是主(父)进程,一个是BaseMange.start()的衍生子进程。很好。

我发现,如果我杀死主进程的python.exe,BaseManager的python.exe将仍然有效。

之所以这样做,是因为我需要使用require(child-process).spawn从NodeJS启动/杀死python脚本,这将仅杀死主进程

根据the documentation。它说 Manager进程一旦被垃圾回收或它们的父进程退出,将立即关闭,这与我从Windows Task Manager中看到的不匹配。提供详细信息和代码有很大帮助。谢谢!

0 个答案:

没有答案