Python 做简单的系统监控
- 在linux下有许许多系统命令可以让我们时刻监控系统运行的状态,如ps,top,free等等,要获取这些系统信息,Python可以通过subprocess模块调用并获取结果。但这样做显得很麻烦,尤其是要写很多解析代码。而且对例如Windows系统支持并不友好。
- Python中获取系统信息的另一个好办法是使用psutil这个第三方模块。顾名思义,psutil = process and system utilities,它不仅可以通过一两行代码实现系统监控,还可以跨平台使用,支持Linux/UNIX/OSX/Windows等,是系统管理员和运维小伙伴不可或缺的必备模块。
需要用到的库
- psutil
- 安装:
pip install psutil
基本使用
import psutil
## 获取CPU信息
print(psutil.cpu_count()) # CPU逻辑数量
print(psutil.cpu_count(logical=False)) #CPU物理核心
## 统计CPU的用户/系统/空闲时间:
print(psutil.cpu_times())
## 获取内存信息
print(psutil.virtual_memory()) ## 获取物理内存
## 获取磁盘信息
print(psutil.disk_partitions()) # 磁盘分区信息
print(psutil.disk_usage('D:\\') )# 磁盘使用情况
## 获取网络信息
print(psutil.net_io_counters()) ## 获取网络读写字节/包的个数
## 获取进程信息
p = psutil.Process(3776) # 获取指定进程ID=3776,其实就是当前Python交互环境
print(p.name()) # 进程名称
print(p.exe()) # 进程exe路径
print(p.cmdline()) # 进程启动的命令行
p.terminate() # 结束进程
拓展
|