从python脚本中启动python脚本作为后台进程

时间:2010-08-29 17:00:11

标签: python

我的python脚本需要启动后台进程,然后继续处理完成而不等待返回。

后台脚本将处理一段时间,不会生成任何屏幕输出。

不需要进程间数据。

我尝试过使用各种方法子进程,多处理但很明显错过了什么。

有没有人有一个简单的例子?

TIA

3 个答案:

答案 0 :(得分:3)

怎么样:

import subprocess
from multiprocessing import Process

Process(target=subprocess.call, args=(('ls', '-l', ), )).start()

它不是那么优雅,但它满足了你的所有要求。

答案 1 :(得分:2)

简单:

subprocess.Popen(["background-process", "arguments"])

如果您想稍后检查后台进程是否完成其工作,请保留对Popen对象的引用并使用它的poll()方法。

答案 2 :(得分:1)

关于如何在Calling an external command in Python(每个@lecodesportif)执行此操作的各个部分/部分有一个很好的写法。

快速回答的要点是:

retcode = subprocess.call(["ls", "-l"])