在Python脚本中启动后台进程的Python脚本
我的Python脚本需要启动一个后台进程,然后继续执行其他操作,而不需要等这个后台进程完成。
这个后台脚本会运行一段时间,但不会在屏幕上显示任何输出。
进程之间不需要共享数据。
我尝试过使用不同的方法,比如subprocess和multiprocessing,但显然我还是没搞明白。
有没有人能给我一个简单的例子?
谢谢!
3 个回答
1
在这里有一篇很不错的文章,讲述了如何在Python中调用外部命令的各种方法,链接在这里:在Python中调用外部命令(根据@lecodesportif的说法)。
简单来说,快速回答的要点是:
retcode = subprocess.call(["ls", "-l"])
2
简单来说:
subprocess.Popen(["background-process", "arguments"])
如果你想在之后检查后台进程是否完成了它的工作,可以保留一个对Popen对象的引用,然后使用它的poll()
方法。
3
这样怎么样:
import subprocess
from multiprocessing import Process
Process(target=subprocess.call, args=(('ls', '-l', ), )).start()
虽然看起来不太优雅,但它满足了你所有的需求。