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

问题:

我试图将一个shell脚本移植到更易读的python版本。原始shell脚本在后台使用“&”启动几个进程(实用程序,监视器等)。如何在python中实现同样的效果?当python脚本完成时,我希望这些进程不会死机。我相信它与某个守护进程的概念有关,但是我找不到如何轻松地做到这一点。

回答:

 注意:这个答案比2009年发布的时间少了。现在推荐使用其他答案中显示的subprocess模块in the docs

(请注意,子流程模块为产生新流程和检索结果提供了更强大的功能;使用该模块比使用这些功能更为方便)。

如果您希望您的进程在后台启动,您可以使用system()并以与您的shell脚本相同的方式调用它,也可以spawn

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

(或者,您可以尝试便携式os.P_NOWAIT标志)。
请参阅documentation here

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: How to start a background process in Python?

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

54 + = 55