繁体   English   中英

Python 多处理进程是否可以从 __main__ 以外的其他地方启动?

[英]Can Python multiprocessing process be launched from OTHER than __main__?

我正在 Debian 上的 Python 3.8 中编写一个框架,它将启动一些多处理进程。 我希望在main以外的函数中完成进程的配置和启动。 文件将由框架的最终用户编写,他们不需要了解这些过程。 因此,我尝试将配置和启动进程的代码放在辅助函数或调用的 class 方法中。

我发现一旦启动器 function / 方法退出进程就会死掉。 即使启动器功能/方法在与仍在运行的main相同的进程中运行(我认为)也是如此。 在启动器功能/方法退出之前,我已经在启动器功能/方法中放置了很长时间,而且这些进程似乎已经存在了很长时间。

我尝试设置“守护进程”标志,但这似乎并没有解决它。 如果这确实是多处理的限制,我可以指示我的框架的用户始终将一些样板启动器代码放在他们的文件中,但这似乎很笨重。 感谢所有帮助!

启动进程的 function 仅将进程返回到进程正在使用的队列和非托管队列。 我更改为返回带有进程和托管队列的字典,一切正常。 即使main不使用队列也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM