模块地址:
https://pypi.python.org/pypi/psutil/
psutil功能
提供接口可以用来获取信息,包括:
- 当前运行的进程
- 系统(资源使用)信息
CPU
内存
磁盘
网络
用户
安装:
windows下安装比较简单,从这里下相应的安装包exe,傻瓜安装即可。psutil区分python2.7和python3.x,所以针对自己的环境下不同的包。
测试
写了一段代码,主要测试进程相关的功能。psutil还有其他很多的功能,这里就不再写测试代码了。
# -*- coding=utf-8 -*-
import psutil
def 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)