Назад | Перейти на главную страницу

Получение информации о процессе о высокой степени использования процесса

Я хочу получить информацию о процессах, которые используют больше определенного лимита ЦП.

Пример:

#!/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