Python子流程模块等待方法

问题描述 投票:0回答:1

我正在学习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()

如果我没记错的话,直到我关闭计算器,“完成的等待语句”才会出现在输出中,但确实如此。我哪里错了?

python subprocess wait
1个回答
0
投票

我不熟悉“ .wait”函数,但是如果您希望代码等待“ calc.exe”进程的执行,则可以给“ Popen”加上“ call”:]]

x = subprocess.call('C:\\Windows\\System32\\calc.exe')
    
© www.soinside.com 2019 - 2024. All rights reserved.