我正在尝试将 shell 脚本移植到更具可读性的 python 版本。原始的 shell 脚本使用“&”在后台启动多个进程(实用程序、监视器等)。我怎样才能在python中达到同样的效果?当 python 脚本完成时,我希望这些进程不会消失。我确信它以某种方式与守护进程的概念有关,但我找不到如何轻松地做到这一点。
注意 :此答案比 2009年发布时的更新要少。subprocess现在建议在文档中使用其他答案中显示的模块
subprocess
(请注意,子进程模块提供了更强大的工具来生成新进程并检索其结果;使用该模块比使用这些函数更可取。)
如果你希望你的进程在后台启动,你可以使用system()和调用它,就像你的 shell 脚本一样,或者你可以spawn:
system()
spawn
import os os.spawnl(os.P_DETACH, 'some_long_running_command')
(或者,您可以尝试使用不太便携的os.P_NOWAIT标志)。
os.P_NOWAIT
请参阅此处的文档。