[Python]psutil模块:用于获得处理器、系统和进程相关信息
模块地址:
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():
%s"%psutil.test())
except psutil.NoSuchProcess, pid:
print("no process found with pid=%s"%pid)
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: python psutil 终止子进程
- 下一篇: Python模块psutil的简介