背景

介绍一个处理进程的实用工具,这个是一个第三方库。应用主要有类似ps、cd、top,还有查看硬盘、内存使用情况等。

推荐的理由主要有 2 个,第一个是跨平台的,不管是OSX、Centos、Windows还是SUSE、Ubuntu,都可以用这个工具,对于运维来说,非常实用;第二个是强于os.system()、os.popen()以及subprocess,需要对回显处理,但是Psutil只需要对结果,像处理 Dict 一样「返回的属性因平台而异」,就可以轻松拿到想要的东西。

安装

安装非常简单,用pip就可以上路了。

pip install psutil # python2

pip3 install psutil # python3

CPU相关

获取CPU数量:

import psutil # 后面不再加这句代码

psutil.cpu_count() # cpu数量

psutil.cpu_count(logical=True) # 逻辑CPU的数量

获取CPU每个CPU当前利用率:

psutil.cpu_percent(interval=1) # 1 秒后线束总的利用率结果

psutil.cpu_percent(interval=0, percpu=True) # 立马显示每个CPU结果

获取CPU的频率,包括最低、高频率,以及当前频率:

psutil.cpu_freq(percpu=True) #获取每个CPU的频率

内存

获取物理内存的利用情况:

psutil.virtual_memory() # 有点类似 free 命令

获取 Swap 交换内存:

psutil.swap_memory() # 有点类似 free 命令

硬盘

获取硬盘分区,返回的是分区格式类型,挂载点:

psutil.disk_partitions(all=False) #类似lsblk命令

获取硬盘利用率,返回的是使用多少、还剩多少,以及使用率:

psutil.disk_usage("C:\") # 查看C盘

网络

获取当前网络的IO情况,返回IO的字节、包的数量:

psutil.net_io_counters()

获取当前连接数,对于这个需要root用户权限,因此在运行python的时候加上sudo:

psutil.net_connections() # 返回连接详细信息

获取网口信息和状态:

psutil.net_if_addrs() # 获取网络接口信息

psutil.net_if_stats() # 获取网络接口状态

进程

获取所有进程PID:

psutil.pids() # 所有进程ID

可以通过指定进程PID来获取,进程名称、进程路径、状态以及结束进程等。

pid = psutil.Process(8888) # 获取进程pid为8888的进程

pid.name() # 进程名称

pid.status() # 进程状态

pid.terminate() # 终止经常

最新文章

  1. 打造高效前端工作环境 - tmux
  2. [LeetCode] H-Index II 求H指数之二
  3. AngularJs angular.bind、angular.bootstrap、angular.copy
  4. ASP.NET 上的 Async/Await 简介
  5. PCA理论与实践
  6. Struts2 用 s:if test 判断属性和字符串相等时 注意双引号和单引号的使用
  7. HTTP状态代码
  8. CentOS 6.6下Redis安装
  9. Spring.net--很棒的事务处理
  10. 区间DP(初步了解)
  11. 查看Android数据库文件
  12. ThreadLocal 在web环境下使用的边界问题
  13. Android清理设备内存具体完整演示样例(一)
  14. Robotium原则的实施源代码分析
  15. find the majority element
  16. 使用maven配置scala Hadoop spark开发环境
  17. 【Linux】Jenkins安装
  18. Log4Net使用学习笔记
  19. Tomcat ngxin 反向代理
  20. CMS搭建,织梦CMS使用教程

热门文章

  1. SQL Server中创建sde数据库
  2. 浅谈服务架构“五脏六腑”之Spring Cloud
  3. Day17---轻量级、高性能的服务器--Nginx
  4. 【swagger】C# 中 swagger 的使用及避坑
  5. vulnhub~MyExpense
  6. Linux yum 源配置
  7. SpringMVC知识大览
  8. 基于OAuth2.0的token无感知刷新
  9. usdt钱包对接,usdt 对接交易平台,usdtapi,以太坊对接,以太坊代币对接
  10. Android 添加键值并上报从驱动到上层