我正在尝试使用 psutil 模块编写一个非常简单的 python 脚本来返回进程 ID、创建时间、名称和 CPU %。最终,我将使用它来监控基于这些返回值的特定阈值,但对于我们的案例,我将使用一个简单的示例
- 操作系统:CentOS 6.5
- Python:2.6.6(基本 CentOS 6 软件包)
- psutil:0.6.1
当我运行以下脚本时,它会返回除 cpu_percent 之外的所有内容的正确值。它为每个进程返回 0.0。我认为问题是由于 cpu_percent 的默认间隔为 0。我正在使用 psutil.process_iter() 和 as_dict 来遍历正在运行的进程。我不确定如何设置间隔。有什么我想念的吗?
#! /usr/bin/python
import psutil
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name', 'create_time', 'get_cpu_percent'])
except psutil.NoSuchProcess:
pass
else:
print(pinfo)