【发布时间】:2011-02-05 19:41:13
【问题描述】:
有没有办法从 python 调用程序而不等待它返回?我创建了一个脚本,它将程序复制到目录并运行该程序。但是当我从 python 调用程序时,python 脚本在我启动的程序退出之前不会退出。我试过 os.system 和 Popen。还有其他方法吗?
添加信息: os.spawnl 和 os.P_DETACH 仍然不起作用;根据文档,“P_DETACH 类似于 P_NOWAIT,但新进程与调用进程的控制台分离”。但它仍然以某种方式附加到我的调用进程(调用脚本在任何被调用的可执行文件返回之前不会退出)
程序:
os.system("start test.exe")
print "Done"
在它执行 test.exe 之后,它会打印 Done。但它不会终止脚本的执行(脚本进程仍在运行)。尝试创建一个守护线程并使用 P_DETACH Popen,仍然不行。
【问题讨论】:
-
我建议您将问题缩小为一个演示问题的小程序(应该只需要六行代码),然后将其粘贴到您的问题中。事情可能出错的可能性太多了,我们不知道该说什么......
标签: python command subprocess popen