1

情况:

我正在使用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 脚本,这只会杀死主进程

根据文档。它说管理器进程将在它们被垃圾收集或它们的父进程退出后立即关闭,这与我从 Windows 任务管理器中看到的不匹配。提供详细信息和代码有很大帮助。谢谢!

4

0 回答 0