• python模块详解 | psutil


    psutil简介

    psutil是一个开源切跨平台的库,其提供了便利的函数用来获取才做系统的信息,比如CPU,内存,磁盘,网络等。此外,psutil还可以用来进行进程管理,包括判断进程是否存在、获取进程列表、获取进程详细信息等。而且psutil还提供了许多命令行工具提供的功能,包括:ps,top,lsof,netstat,ifconfig, who,df,kill,free,nice,ionice,iostat,iotop,uptime,pidof,tty,taskset,pmap。

    psutil是一个跨平台的库,在官方网站上查到其支持如下操作系统。

    • Linux
    • Windows
    • OSX
    • FreeBSD
    • OpenBSD
    • NetBSD
    • Sun Solaris
    • AIX

    Works with Python versions from 2.6 to 3.X.

    psutil包含了异常、类、功能函数和常量,其中功能函数用来获取系统的信息,如CPU、磁盘、内存、网络等。类用来实现进程的管理功能

     

    cpu

    函数描述
    psutil.cpu_count() cpu_count(,[logical]):默认返回逻辑CPU的个数,当设置logical的参数为False时,返回物理CPU的个数。
    psutil.cpu_percent() cpu_percent(,[percpu],[interval]):返回CPU的利用率,percpu为True时显示所有物理核心的利用率,interval不为0时,则阻塞时显示interval执行的时间内的平均利用率
    psutil.cpu_times() cpu_times(,[percpu]):以命名元组(namedtuple)的形式返回cpu的时间花费,percpu=True表示获取每个CPU的时间花费
    psutil.cpu_times_percent() cpu_times_percent(,[percpu]):功能和cpu_times大致相同,看字面意思就能知道,该函数返回的是耗时比例。
    psutil.cpu_stats() cpu_stats()以命名元组的形式返回CPU的统计信息,包括上下文切换,中断,软中断和系统调用次数。
    psutil.cpu_freq() cpu_freq([percpu]):返回cpu频率

     

    memory_内存

    函数   描述

    virtual_memory()

    获取系统内存的使用情况,以命名元组的形式返回内存使用情况,包括总内存,可用内存,内存利用率,buffer和cache等。单位为字节。

    swap_memory()

    获取系统交换内存的统计信息,以命名元组的形式返回swap/memory使用情况,包含swap中页的换入和换出。

     

    disk_磁盘

    函数描述
    psutil.disk_io_counters() disk_io_counters([perdisk]):以命名元组的形式返回磁盘io统计信息(汇总的),包括读、写的次数,读、写的字节数等。
    当perdisk的值为True,则分别列出单个磁盘的统计信息(字典:key为磁盘名称,value为统计的namedtuple)。
    psutil.disk_partitions() disk_partitions([all=False]):以命名元组的形式返回所有已挂载的磁盘,包含磁盘名称,挂载点,文件系统类型等信息。
    当all等于True时,返回包含/proc等特殊文件系统的挂载信息
    psutil.disk_usage() disk_usage(path):以命名元组的形式返回path所在磁盘的使用情况,包括磁盘的容量、已经使用的磁盘容量、磁盘的空间利用率等。


    net_网络

    函数详情
    psutil.net_io_counter([pernic]) 以命名元组的形式返回当前系统中每块网卡的网络io统计信息,包括收发字节数,收发包的数量、出错的情况和删包情况。当pernic为True时,则列出所有网卡的统计信息。
    psutil.net_connections([kind]) 以列表的形式返回每个网络连接的详细信息(namedtuple)。命名元组包含fd, family, type, laddr, raddr, status, pid等信息。kind表示过滤的连接类型,支持的值如下:(默认为inet)
    psutil.net_if_addrs() 以字典的形式返回网卡的配置信息,包括IP地址和mac地址、子网掩码和广播地址。
    psutil.net_if_stats() 返回网卡的详细信息,包括是否启动、通信类型、传输速度与mtu。
       

     

    pid_进程管理

    psutil还提供了作为进程管理的功能函数,包括获取进程列表,判断是否存在。

    函数描述
    psutil.pids() 以列表的形式返回当前正在运行的进程
    psutil.pid_exists(1) 判断给点定的pid是否存在
    psutil.process_iter() 迭代当前正在运行的进程,返回的是每个进程的Process对象
    psutil.Process( pid ) 对进程进行封装,可以使用该类的方法获取进行的详细信息,或者给进程发送信号。传入参数为pid

    psutil.Process( pid )获取进程相关信息的方法

    • name():获取进程的名称
    • cmdline():获取启动进程的命令行参数
    • create_time():获取进程的创建时间(时间戳格式)
    • num_fds():进程打开的文件个数
    • num_threads():进程的子进程个数
    • is_running():判断进程是否正在运行
    • send_signal():给进程发送信号,类似与os.kill等
    • kill():发送SIGKILL信号结束进程
    • terminate():发送SIGTEAM信号结束进程

     

    sensors_传感器

    函数
    描述
    psutil.sensors_temperatures(fahrenheit=False)
    返回硬件的温度
    psutil.sensors_fans()
    返回电池状态
    psutil.sensors_battery() 
    返回硬件风扇速度
     

    其他

    psutil.users() 以命名元组的方式返回当前登陆用户的信息,包括用户名,登陆时间,终端,与主机信息
    psutil.boot_time() 以时间戳的形式返回系统的启动时间
     
  • 相关阅读:
    货币系统
    纸牌
    活动
    KKT-黑白球
    POJ2676-Sudoku
    POJ1717-Dominoes
    POJ1088-滑雪
    POJ1862-Stripies
    POJ2531-Network Saboteur
    2019.12.13 数的划分
  • 原文地址:https://www.cnblogs.com/billie52707/p/12468740.html
Copyright © 2020-2023  润新知