繁体   English   中英

Python subprocess.popen()无需等待

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM