我使用subprocess.Popen
打开一个程序:
import subprocess
prog = subprocess.Popen(['myprog', args], shell=True)
我想在我的代码继续执行之前,监视进程“myprog”并等待其终止。
我面临的问题是prog.pid
是shell的PID而不是“myprog”的PID,我不知道如何获取“myprog”的PID。 我尝试使用psutil
查找prog.pid
的子进程:
parent = psutil.Process(prog.pid)
children = parent.children(recursive=True)
但是返回了一个空列表。
不幸的是,我无法在没有shell的情况下启动'myprog'。 当我使用shell=False
运行命令时,我收到以下错误消息:FileNotFoundError: [WinError 2] 找不到指定的文件
我已经搜索了各种信息,但所有有用的结果都是为非Windows用户准备的。
where atom
吗?我们在这里要去某个地方。 - Jean-François Fabreatom
和atom.cmd
。 - EDWhyte