我正在使用打开一个程序 subprocess.Popen
import subprocess
prog = subprocess.Popen(['myprog', args], shell=True)
我想监视进程'myprog'并等待它直到我的代码继续之前它终止.
我面临的问题是prog.pid
shell的PID而不是'myprog',我不知道如何获得'myprog'的PID.我试图用来psutil
找到子进程prog.pid
:
parent = psutil.Process(prog.pid)
children = parent.children(recursive=True)
但是返回一个空列表.
不幸的是,如果没有shell,我无法启动'myprog'.当我运行该命令时,shell=False
我收到以下错误消息:
FileNotFoundError: [WinError 2] The system cannot find the file specified
我搜索网络的高低,但所有有前途的线索都是针对非Windows用户的.