psutil - 获取进程名称为空

4 投票
3 回答
8325 浏览
提问于 2025-04-18 08:16

我正在尝试运行这段代码,但我没有通过名称获取到进程列表:

import psutil

PROCNAME = "python.exe"

for proc in psutil.process_iter():
    if proc.name == PROCNAME:
        print proc

我得到的结果是空的,尽管这个进程实际上是正在运行的。

3 个回答

-1

试着看看 psutil 提供的进程名称到底是什么格式:

import psutil

for proc in psutil.process_iter():
    print proc.name
3

psutil的2.0.0版本中,API(应用程序编程接口)发生了一些重要的变化:

https://github.com/giampaolo/psutil/blob/master/HISTORY.rst#200---2014-03-10

以前的proc.name这个属性现在被proc.name()这个方法取代了。所以你需要根据这个变化进行调整。

6

我之前也遇到过同样的问题。如果有人也有类似的困扰,把 proc.name 改成 proc.name() 就解决了我的问题。

撰写回答