我正在学习python中的子进程模块,据我所知,wait方法阻止线程执行其余代码,直到启动的进程关闭为止。但是当我无法使用wait方法时,它仍然执行其余代码:
def startCalc():
x = subprocess.Popen('C:\\Windows\\System32\\calc.exe')
time.sleep(5)
x.wait()
print('finished waiting')
print(x.poll())
print(x.wait())
startCalc()
如果我没记错的话,直到我关闭计算器,“完成的等待语句”才会出现在输出中,但确实如此。我哪里错了?
我不熟悉“ .wait”函数,但是如果您希望代码等待“ calc.exe”进程的执行,则可以给“ Popen”加上“ call”:]]
x = subprocess.call('C:\\Windows\\System32\\calc.exe')