获取有关高进程使用率的进程信息

获取有关高进程使用率的进程信息

我正在寻找有关使用超过特定 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

相关内容