安全退出多进程python应用程序

安全退出多进程python应用程序,python,multiprocessing,Python,Multiprocessing,我注意到os.\u exit():: 退出状态为n的进程,而不调用清理处理程序, 冲洗标准缓冲区等 还有那sys.exit():: “only”引发异常,它仅在调用时退出进程 从主线 我需要一个解决方案来关闭一个多处理的应用程序,以确保所有进程都已关闭(没有一个进程处于孤立状态),并且它以可能的最佳状态退出 额外费用: 我使用python多处理库创建进程,通过创建继承自多处理的类。进程我最终为每个进程创建了一个管道。然后,当主进程关闭时,它可以向所有子进程发送一条消息,说明它们也应该关闭 为了使

我注意到
os.\u exit()
::

退出状态为n的进程,而不调用清理处理程序, 冲洗标准缓冲区等

还有那
sys.exit()
::

“only”引发异常,它仅在调用时退出进程 从主线

我需要一个解决方案来关闭一个多处理的应用程序,以确保所有进程都已关闭(没有一个进程处于孤立状态),并且它以可能的最佳状态退出

额外费用:


我使用python多处理库创建进程,通过创建继承自
多处理的类。进程
我最终为每个进程创建了一个管道。然后,当主进程关闭时,它可以向所有子进程发送一条消息,说明它们也应该关闭


为了使其正常工作,您必须定期检查子进程的“do循环”,以查看管道中是否有消息,如果有,请检查它们是否是“立即退出”消息。

请查看此问题,谢谢@jbaldwin这是处理线程的,与多处理不同。当主线程终止时,线程将被终止,在这种情况下,与多处理一样,子进程会持久化。如何创建进程?如果使用
子进程创建它们,则可以调用以终止所有子进程,然后使用
sys.exit
退出。如果您在子进程中,您可以向主线程发送一条消息,以便为您执行此操作。@Bakuriu我通过扩展python multiprocessing.process类来创建进程