天天看点

Python编程:psutil模块获取系统信息获取CPU信息获取内存信息获取磁盘信息获取网络信息获取进程信息

psutil模块:获取系统信息

psutil = process and system utilities

跨平台使用,支持

Linux /UNIX/OSX/Windows等

获取CPU信息

.cpu_count() # CPU逻辑数量
.cpu_count(logical=False) # CPU物理核心
.cpu_times() # 统计CPU的用户/系统/空闲时间
.cpu_percent(interval=1, percpu=True) # 类似top命令的CPU使用率      

获取内存信息

.virtual_memory() # 获取物理内存(字节为单位)
.swap_memory()  # 交换内存信息        

获取磁盘信息

.disk_partitions() # 磁盘分区信息
.disk_usage('/') # 磁盘使用情况
.disk_io_counters() # 磁盘IO      

获取网络信息

.net_io_counters() # 获取网络读写字节/包的个数
.net_if_addrs() # 获取网络接口信息
.net_if_stats() # 获取网络接口状态
.net_connections() # 当前网络连接信息(需要root权限)
.test()  # 模拟出ps命令的效果      

获取进程信息

.pids() # 所有进程ID
.Process(3776) # 获取指定进程ID=3776 -> p
p.name() # 进程名称'python3.6'
p.exe() # 进程exe路径
p.cwd() # 进程工作目录
p.cmdline() # 进程启动的命令行
p.ppid() # 父进程ID
p.parent() # 父进程
p.children() # 子进程列表
p.status() # 进程状态
p.username() # 进程用户名
p.create_time() # 进程创建时间
p.terminal() # 进程终端
p.cpu_times() # 进程使用的CPU时间
p.memory_info() # 进程使用的内存
p.open_files() # 进程打开的文件
p.connections() # 进程相关网络连接
p.num_threads() # 进程的线程数量
p.threads() # 所有线程信息
p.environ() # 进程环境变量
p.terminate() # 结束进程, 自己把自己结束      

参考:

https://github.com/giampaolo/psutil