从python脚本内启动python脚本作为后台进程
问题描述:
我的python脚本需要启动后台进程,然后继续处理完成,而不必等待返回。从python脚本内启动python脚本作为后台进程
后台脚本将会处理一段时间,并且不会生成任何屏幕输出。
没有所需的进程间数据。
我已经尝试过使用各种方法子进程,多处理,但我显然缺少的东西。
有没有人有一个简单的例子?
TIA
答
这个怎么样:
import subprocess
from multiprocessing import Process
Process(target=subprocess.call, args=(('ls', '-l',),)).start()
这是不是所有的优雅,但它满足您的所有需求。
答
有关于如何做到这一点的各种片/件中的Calling an external command in Python一个很好的书面记录(每@lecodesportif)。
一个快速的答案的要点是:
retcode = subprocess.call(["ls", "-l"])
答
简单:
subprocess.Popen(["background-process", "arguments"])
如果您想稍后检查后台进程是否完成了它的任务,保留到POPEN对象的引用和使用它的方法是poll()
。
它没有“没有等待”的要求。 – 2010-08-29 17:39:50
啊 - 我的不好,我错过了阅读。你很正确。斯特凡诺的回答应该做你想要的。 – heckj 2010-08-29 18:07:14
怎么样?'retcode = subprocess.call([“ls -l&”],shell = True)''。这对我行得通。 – SunSparc 2013-05-21 21:33:45