gpt4 book ai didi

python - psutil.process_iter() 不返回所有正在运行的进程

转载 作者:太空宇宙 更新时间:2023-11-03 15:11:02 25 4
gpt4 key购买 nike

我在 Windows 8.1 的 python 64 位上使用 psutil 2.1.2。我正在使用 psutil.process_iter() 遍历正在运行的进程以获取有关特定进程的详细信息。由于某种原因,即使它显示在任务管理器和进程资源管理器中,我也没有得到进程

for proc in psutil.process_iter():
try:
if proc.name() == 'svchost.exe': # patch for debugging
pass #script never gets here
opened_files = proc.open_files()
opened_files = [opened_file[0] for opened_file in opened_files]
if file_path in opened_files:
processes.append(proc)
except (psutil.AccessDenied, psutil.NoSuchProcess):
pass

我检查了过程名称,它从来不是我要找的过程。我没有看到的进程示例是 svchost.exe

感谢您的帮助!

最佳答案

对于某些(实际上很多)进程,proc.open_files() 将导致 AccessDenied 异常,所以这可能就是您没有“看到”所有进程的原因。任务管理器和 Process Explorer 比 psutil 显示更多信息,因为它们的权限限制更少(请参阅:它们可以从进程中“提取”更多信息而不会遇到“拒绝访问”错误)。但是,通过使用 psutil,您可以看到所有 进程 (PID),只是您无法“查询”所有进程。

关于python - psutil.process_iter() 不返回所有正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26627176/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com