当前位置:  开发笔记 > 编程语言 > 正文

监视从windows中的shell命令创建的子进程

如何解决《监视从windows中的shell命令创建的子进程》经验,为你挑选了0个好方法。

我正在使用打开一个程序 subprocess.Popen

import subprocess

prog = subprocess.Popen(['myprog', args], shell=True)

我想监视进程'myprog'并等待它直到我的代码继续之前它终止.

我面临的问题是prog.pidshell的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用户的.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有