[Python]psutil模块:用于获得处理器、系统和进程相关信息

来源:互联网 发布:网络解锁nck 编辑:程序博客网 时间:2024/05/01 05:42

模块地址:

https://pypi.python.org/pypi/psutil/

psutil功能

提供接口可以用来获取信息,包括:

  1. 当前运行的进程
  2. 系统(资源使用)信息
    CPU
    内存
    磁盘
    网络
    用户

安装:

windows下安装比较简单,从这里下相应的安装包exe,傻瓜安装即可。psutil区分python2.7和python3.x,所以针对自己的环境下不同的包。

测试

写了一段代码,主要测试进程相关的功能。psutil还有其他很多的功能,这里就不再写测试代码了。

# -*- coding=utf-8 -*-import psutildef get_process_cmdline(process_name):    '''    获取进程的命令行    :param process_name: 进程名    :return:返回该进程名(可能有多个)的各进程的参数    '''    pid_list = psutil.pids()    for each_pid in pid_list:        try:            each_pro = psutil.Process(each_pid)            if each_pro.name().lower() == process_name.lower():                yield each_pro.cmdline()        except psutil.NoSuchProcess, pid:            print("no process found with pid=%s"%pid)def kill_process(process_name):    '''    杀死进程    :param process_name: 进程名    :return:None    '''    pid_list = psutil.pids()    for each_pid in pid_list:        try:            each_pro = psutil.Process(each_pid)            if each_pro.name().lower() == process_name.lower():                print("found process")                print("process_name=%s"%each_pro.name())                print('process_exe=%s'%each_pro.exe())                print('process_cwd=%s'%each_pro.cwd())                print('process_cmdline=%s'%each_pro.cmdline())                print('process_status=%s'%each_pro.status())                print('process_username=%s'%each_pro.username())                print('process_createtime=%s'%each_pro.create_time())                print('now will kill this process')                each_pro.terminate()                each_pro.wait(timeout=3)                print('psutil.test():\n%s'%psutil.test())        except psutil.NoSuchProcess, pid:            print("no process found with pid=%s"%pid)
0 0
原创粉丝点击