Python多处理:在父进程退出后运行进程

Posted

技术标签:

【中文标题】Python多处理:在父进程退出后运行进程【英文标题】:Python multiprocessing: Running a process after its parent exited 【发布时间】:2020-03-04 03:49:59 【问题描述】:

我正在编写一个在 Mac OS 和 Linux 下运行的 Python 程序,我想在 multiprocessing.Process 中运行一些逻辑。该逻辑需要一段时间,我希望它在我的程序完成并退出后继续运行。即,我希望主进程等待辅助进程完成。我希望主进程在完成后立即退出。

我做了一些实验,似乎这是使用subprocess 时的默认行为,但我无法使用multiprocessing.Process 实现它,即使我运行set_start_method('spawn')

您知道让multiprocessing.Process 表现出这种行为的方法吗?

【问题讨论】:

你看到daemon 标志了吗?我认为将其设置为 True 会满足您的需求。 【参考方案1】:

看起来像启动一个新进程,然后从中调用 os.fork 就可以了。

【讨论】:

以上是关于Python多处理:在父进程退出后运行进程的主要内容,如果未能解决你的问题,请参考以下文章

Python multiprocessing:在退出父进程后运行进程

python threading父进程不死,子线程不退出..如何才能使用完线程后回收线程?

在 Python 多处理进程中运行较慢的 OpenCV 代码片段

如何在父进程终止后终止所有子进程?

python多进程

Linux wait函数详解