zoukankan      html  css  js  c++  java
  • Python常用库-Psutil

    背景

    介绍一个处理进程的实用工具,这个是一个第三方库。应用主要有类似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() # 终止经常

  • 相关阅读:
    E:Could not get lock /var/lib/apt/lists/lock
    报错:shell-init: error retrieving current directory: getcwd: cannot access parent directories
    随记
    Linux下C++调用后端接口
    Python操作Execl
    使用CamFI设备二次开发,传输照片遇到的问题
    “Could not determine which "make" command to run. Check the "make" step in the build configuration.” 在Linux下 Qt图形库出错解决
    在Linux系统下Qt中获取相对路径
    C++命名空间
    css知识点汇总
  • 原文地址:https://www.cnblogs.com/cuiyubo/p/10374104.html
Copyright © 2011-2022 走看看