我正在寻找有关使用超过特定 CPU 限制的进程的进程信息。
前任:
#!/usr/bin/env python
def get_processes_over_usage(cpu_usage):
#Find the processes.
return processes
具体来说,我正在寻找该进程的可执行文件和用户名。
谢谢!
这是答案,我只是还不能发布它:这并不完全符合要求,但已经足够接近了。
#!/usr/bin/env python
import commands
def get_processes():
output = commands.getoutput('/usr/bin/top -n 1')
lines = output.split('\n')
header = ['PID', 'USER', 'PR', 'NI', 'VIRT', 'RES', 'SHR', 'S', '%CPU', '%MEM', 'TIME+', 'COMMAND']
header_found = False
processes = []
for line in lines:
data = line.split()
if(data):
data.pop()
if(data):
data.pop(0)
if(header_found):
processes.append(dict(zip(header, data)))
if(data == header):
header_found = True
return processes