windows 我可以得到由子程序启动的程序的PID吗?

wztqucjr  于 2023-02-10  发布在  Windows
关注(0)|答案(1)|浏览(148)

我的python脚本运行一个程序,我们将其命名为X.exe

from subprocess import Popen
process = Popen('D:X.exe')

我可以通过

process.pid

过了一段时间(我知道),X.exe启动另一个程序-Y.exe。我可以获得Y.exe进程的PID吗?注意:我不知道Y.exe窗口的名称

dxxyhpgq

dxxyhpgq1#

您可以看到使用psutil的进程的子进程,如下所示。

import psutil
import subprocess
import time

proc = subprocess.Popen("start /wait", shell=True)  # start another cmd.exe

time.sleep(0.5)  # wait for child to start
process_object = psutil.Process(proc.pid)
children = process_object.children()
print(f"child pid is {children[0].pid}")
proc.wait()
child pid is 18292

相关问题