小编典典

如何在 Python 中启动后台进程?

all

我正在尝试将 shell 脚本移植到更具可读性的 python 版本。原始的 shell
脚本使用“&”在后台启动多个进程(实用程序、监视器等)。我怎样才能在python中达到同样的效果?当 python
脚本完成时,我希望这些进程不会消失。我确信它以某种方式与守护进程的概念有关,但我找不到如何轻松地做到这一点。


阅读 117

收藏
2022-03-30

共1个答案

小编典典

注意 :此答案比 2009年发布时的更新要少。subprocess现在建议在文档中使用其他答案中显示的模块

(请注意,子进程模块提供了更强大的工具来生成新进程并检索其结果;使用该模块比使用这些函数更可取。)


如果你希望你的进程在后台启动,你可以使用system()和调用它,就像你的 shell 脚本一样,或者你可以spawn

import os
os.spawnl(os.P_DETACH, 'some_long_running_command')

(或者,您可以尝试使用不太便携的os.P_NOWAIT标志)。

请参阅此处的文档

2022-03-30