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])