我想在 linux 服务器中获取所有进程信息。
PID, USER, CPU% , COMMAND ...
确切地说,我想在 python 脚本中获取这些信息。我试过
a,b = commands.getstatusoutput('top -n 1')
这给了我大约 20 行按 CPU% 排序的结果,但我想要更多,大约 40 或 50 行结果。
我应该怎么做?
我使用 psutil 如下,对于每个 proc,它需要等待 1 秒。如何快速获得顶级命令之类的 cpu_percent。
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'username', 'cpu_percent', 'name'])
pinfo['cpu_percent'] = proc.cpu_percent(interval=1)
if pinfo['cpu_percent'] > 0:
print(pinfo)
except psutil.NoSuchProcess:
pass