好用的运维相关Python库1:psutil
由于Bash实在太恶心,很多运维工程师开始使用Python代替Bash写各种脚本。
虽然理论上可以用Python调用Bash指令实现各种功能,但是给各种命令写Bash wrapper还要解析输出实在太麻烦。所以我们还是希望用原生Python库来实现各种功能。
今天我推荐一个好用的Python库psutil
。
psutil
一个能够跨平台使用的库。可以用来获取系统信息(CPU、内存、磁盘、网络)和进程信息。
它可以被用来替代这些UNIX的系统命令:ps, top, lsof, netstat, ifconfig, who, df, kill, free, nice, ionice, iostat, iotop, uptime, pidof, tty, taskset, pmap
下面是一些具体例子:
1 | import psutil # 加载库 |
CPU信息
CPU占用率
1 | 5) psutil.cpu_percent(interval= |
CPU频率
1 | psutil.cpu_freq() |
CPU load
1 | psutil.getloadavg() |
内存信息
内存使用状况
1 | psutil.virtual_memory() |
磁盘
磁盘分区信息
1 | psutil.disk_partitions() |
磁盘占用率
1 | '/') psutil.disk_usage( |
磁盘IO
1 | psutil.disk_io_counters() |
网络
网络连接 (netstat
)
1 | import psutil |
网络接口(ifconfig
)
1 | psutil.net_if_addrs() |
其它系统信息
电池
1 | psutil.sensors_battery() |
当前用户
1 | psutil.users() |
进程信息
PID
1 | psutil.pids() |
所有进程
1 | for proc in psutil.process_iter(['pid', 'name', 'username']): |
详细文档,请参考: https://psutil.readthedocs.io/en/latest/