牛骨文教育服务平台(让学习变的简单)
博文笔记

转载:python获取全部进程的CPU、内存使用率

创建时间:2013-12-01 投稿人: 浏览次数:159

转载:http://blog.csdn.net/swiftshow/article/details/8109322

 

import psutil,time

def getProcessInfo(p): 
    """取出指定进程占用的进程名,进程ID,进程实际内存, 虚拟内存,CPU使用率
    """
    try:
        cpu = int(p.get_cpu_percent(interval=0)) 
        rss, vms = p.get_memory_info() 
        name = p.name 
        pid = p.pid 
    except psutil.error.NoSuchProcess, e:
        name = "Closed_Process"
        pid = 0
        rss = 0
        vms = 0
        cpu = 0
    return [name.upper(), pid, rss, vms, cpu]

def getAllProcessInfo():
    """取出全部进程的进程名,进程ID,进程实际内存, 虚拟内存,CPU使用率
    """
    instances = []
    all_processes = list(psutil.process_iter()) 
    for proc in all_processes: 
        proc.get_cpu_percent(interval=0) 
    #此处sleep1秒是取正确取出CPU使用率的重点
    time.sleep(1) 
    for proc in all_processes: 
        instances.append(getProcessInfo(proc))
    return instances

获取进程ID

 

import psutil

import re

import sys

 

 

def processinfo(x):

                    p = psutil.get_process_list()

                    for r in p:

                        aa = str(r)

                        f = re.compile(x,re.I)

                        if f.search(aa):

                    #        print aa.split("pid=")[1].split(",")[0] 

                             print aa.split("pid=")

processinfo(sys.argv[1])


 

 

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。