Python中的psutil模块详解
什么是psutil
psutil
是一个跨平台的系统监控库,可以获取CPU、内存、磁盘和网络等系统信息。使用psutil
可以实现监控系统,实现自动化运维等功能。
安装psutil
使用pip可以轻松安装psutil:
pip install psutil
获取CPU使用率
使用psutil.cpu_percent()
方法可以获取CPU使用率,如下所示:
import psutil
# 获取CPU使用率
cpu_percent = psutil.cpu_percent(interval=1)
print("CPU使用率:{}%".format(cpu_percent))
其中interval
参数表示获取CPU使用率的时间间隔,默认为1秒。
获取内存使用情况
使用psutil.virtual_memory()
方法可以获取内存使用情况,如下所示:
import psutil
# 获取内存使用情况
mem = psutil.virtual_memory()
# 总内存
total = mem.total / 1024 / 1024
# 使用中的内存
used = mem.used / 1024 / 1024
# 空闲内存
free = mem.free / 1024 / 1024
print("内存使用情况:总内存{}MB,使用中{}MB,空闲{}MB".format(round(total), round(used), round(free)))
其中virtual_memory()
方法返回的是一个命名元组,包含了总内存、使用中的内存、空闲内存等信息。
获取磁盘使用情况
使用psutil.disk_usage()
方法可以获取磁盘使用情况,如下所示:
import psutil
# 获取磁盘使用情况
disk_usage = psutil.disk_usage("/")
# 磁盘总大小
total = disk_usage.total / 1024 / 1024 / 1024
# 磁盘已用大小
used = disk_usage.used / 1024 / 1024 / 1024
# 磁盘剩余大小
free = disk_usage.free / 1024 / 1024 / 1024
print("磁盘使用情况:总磁盘大小{}GB,已用{}GB,剩余{}GB".format(round(total, 2), round(used, 2), round(free, 2)))
其中disk_usage()
方法返回的也是一个命名元组,包含了磁盘总大小、已用大小和剩余大小等信息。
结束指定进程
使用psutil.process_iter()
方法可以迭代所有进程,使用process.name()
可以获取进程的名称,使用process.pid
可以获取进程的PID。
import psutil
# 结束指定进程
def terminate_process(process_name):
for process in psutil.process_iter():
try:
# 获取进程名称
name = process.name()
# 判断进程是否为指定进程
if name == process_name:
print("正在结束进程:", name)
# 结束进程
process.terminate()
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
print("进程结束操作完成")
if __name__ == "__main__":
terminate_process("notepad.exe")
以上代码会结束所有名称为notepad.exe
的进程。
总结
以上就是psutil模块的详细讲解,使用psutil可以轻松地获取系统信息,实现监控系统、自动化运维等功能,是Python系统编程中的重要工具之一。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程) - Python技术站