【发布时间】:2017-01-06 11:40:46
【问题描述】:
我想运行一系列命令(需要很长时间)。但我不想等待每个命令完成。我如何在 Python 中解决这个问题?
我看了
os.fork()
和
subprocess.popen()
不要以为那是我需要的。
代码
def command1():
wait(10)
def command2():
wait(10)
def command3():
wait(10)
我想打电话
command1()
command2()
command3()
无需等待。
【问题讨论】:
-
如果你使用 Python 3.4+,你可以使用asyncio subprocess
-
如果你的命令是python函数,你可以考虑线程:docs.python.org/2/library/threading.html。这也取决于您所说的“我不想等待”
-
嗯...只是删除“等待”...对不起。 :) 你看过
multiprocessing吗?您可以为每个命令启动一个进程。默认文档很好地解释了这一点。 -
@z0rberg 的哈哈哈哈!但这将包括执行“外部”python 脚本对吗?
-
@doomyster 谢谢 - 看看。我的意思是,我只想开始执行该方法并继续。
标签: python subprocess fork