[英]Python subprocess.popen() without waiting
我在Windows上使用Python 3.4.2。 在script1.py我这样做:
myProc = subprocess.Popen([sys.executable, "script2.py", "argument"])
myProc.communicate()
它工作并调用script2.py。 问题是在script2.py中有一个无限循环(必须有)并且script1.py正在等待script2.py完成。 如何告诉script1.py只调用script2.py并且不要等待进程完成?
如果你不想等,请不要调用myProc.communicate()
。 subprocess.Popen
将启动该进程。
在另一个窗口中调用脚本。
myProc = subprocess.Popen(["start", sys.executable, "script2.py", "argument"])
myProc.communicate()
start
是一个单独运行程序的Windows shell函数,允许当前程序继续其进程。 我没有测试过这个,因为我无法访问Windows操作系统,但Linux等效( nohup
)可以按要求工作。
如果您需要对script2.py的操作进行精确控制,请参阅此处的multiprocessing
模块。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.