1.pstuil简介

 该模块提供了一些方法可以用来做系统监控,性能分析和进程管理等。它目前可以支持Linux,Windows,OSX,Sun Solaris,FreeBSD等系统。

支持Python的版本从2.6到3.5.

2.下载和安装

根据自己的实际需求,到psutil的官方网站下载:
https://pypi.python.org/pypi/psutil

本人下载的是psutil-4.3.1.win32-py2.7.exe 版本。

该工具的安装也比较简单,双击上述exe文件,然后一直点击下一步,直到最后完成即可。

3.使用pstuil。

例子:

#encoding=utf-8
__author__ = 'Administrator'
#列举当前所有进程及对应的pid

import psutil
def listProcess():
    pidlist=psutil.pids()

    for eachpid in pidlist:
        eachprocess=psutil.Process(eachpid)
        processname=eachprocess.name()
        print "Process:",processname, "对应的PID是:",eachpid

if __name__=='__main__':
    listProcess()
执行结果如下:

Process: System Idle Process 对应的PID是: 0
Process: System 对应的PID是: 4
Process: smss.exe 对应的PID是: 344
Process: csrss.exe 对应的PID是: 552
Process: wininit.exe 对应的PID是: 628
Process: csrss.exe 对应的PID是: 636
Process: winlogon.exe 对应的PID是: 692
Process: services.exe 对应的PID是: 732
Process: lsass.exe 对应的PID是: 740
Process: lsm.exe 对应的PID是: 748
Process: svchost.exe 对应的PID是: 856
Process: svchost.exe 对应的PID是: 936
Process: svchost.exe 对应的PID是: 160
Process: AERTSr64.exe 对应的PID是: 2040
Process: svchost.exe 对应的PID是: 1104
Process: svchost.exe 对应的PID是: 1360
Process: endpoint.exe 对应的PID是: 1832
Process: conhost.exe 对应的PID是: 18248
Process: dllhost.exe 对应的PID是: 36712
Process: Foxmail.exe 对应的PID是: 25932
Process: WmiPrvSE.exe 对应的PID是: 90180
Process: python.exe 对应的PID是: 92360
Process: conhost.exe 对应的PID是: 92784
Process: SearchProtocolHost.exe 对应的PID是: 70564
Process: SearchFilterHost.exe 对应的PID是: 93208
Process: python.exe 对应的PID是: 93352
Process: conhost.exe 对应的PID是: 93584

#encoding=utf-8
__author__ = 'Administrator'
#查找某一进程
import psutil

def processinfo():
    pidlist = psutil.pids()

    processToTest="pycharm.exe"
    for eachPid in pidlist:
        try:
            eachProcess =psutil.Process(eachPid)
            processName=eachProcess.name()
            if(processName.lower()==processToTest.lower()):
                print "processName=%s,pid=%s" %(processName,eachPid)
        except psutil.NoSuchProcess,pid:
            print "no process found with pid=&s" %(pid);

if __name__=='__main__':
    processinfo()
执行结果:

processName=pycharm.exe,pid=11372

4.以上只是本人对pstuil的一些简单介绍,如果需要更进一步的学习,可以到pstuil的官方网站去学习。

Logo

更多推荐