psutil是个跨平台库,能够轻松实现获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息。
它主要应用于信息监控,分析和限制系统资源及进程的管理。它实现了同等命令命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的linux、windows、OS X、FreeBSD和Sun Solaris等操作系统。
(1)源码安装psutil
(2)pip安装
(3)windows上安装
#显示CPU所有逻辑信息
#显示用户占CPU的时间比
#显示CPU逻辑个数和物理个数
#将各种CPU统计信息作为命名元组返回
psutil.virtual_memory()以字节返回内存使用情况的统计信息
psutil.disk_partitions(all=False):返回所有安装的磁盘分区作为名称元组的列表,包括设备,安装点和文件系统类型,类似于Unix上的‘df’命令.
psutil.disk_usage(path):将有关包含给定路径的分区的磁盘使用情况统计信息返回为指定元组,包括以字节表示的,总共,已使用和空闲的空间以及百分比使用率,如果路径存在则引发OSError.
psutil.disk_io_counters(perdisk=False,nowrap=True) #将系统范围的磁盘I/0统计作为命名元组返回,包括以下字段:
perdisk为True时返回物理磁盘相同的信息;nowrap为True它将检测并调整函数调用中的新值。
psutil.net_io_counters(pernic=False,nowrap=True):将系统范围的网络I/O统计信息作为命名元组返回,包括以下属性:
如果pernic为True网络接口上安装的每个网络接口返回相同的信息,nowrap为True时将检测并调整函数调用中的这些数字,将旧值添加到新值,保证返回的数字将增加或不变,但不减少,net_io_counters.cache_clear()可用于使nowrap缓存失效。
psutil.net_connections(kind='inet'):返回系统范围的套接字链接,命令元组列表返回,每个命名元组提供了7个属性:
kind参数的值包括:
inet:ipv4和ipv6
inet4:ipv4
inet6:ipv6
tcp:TCP
tcp4:TCP over ipv4
tcp6:TCP over ipv6
udp:UDP
dup4:基于ipv4的udp
cpu6:基于ipv6的udp
Unix:UNIX套接字(udp和TCP协议)
all:所有可能的家庭和协议的总和
psutil.net_if_addrs():以字典的方式返回系统上的每个网络接口的关联地址。
psutil.net_if_stats():将安装在系统上的网络接口的信息作为字典返回,其中包括isup是否启动,duplex双工模式,speed速率,mtu最大传输单位,以字节表示
psutil.process_iter(attrs=None,ad_value=None):返回一个迭代器process,为本地机器上的所有正在运行的进程生成一个类实例。
psutil.pid_exists(pid):检查给定的PID是否存在于当前进程列表中。
psutil.wait_procs(procs,timeout=None,callback=None):等待process终止实例列表的便捷函数,返回一个元组,指示哪些进程已经消失,哪些进程还活着。
class psutil.Popen(*args,kwargs):它启动一个子进程,并完全像使用subprocess.Popen一样处理,它还提供了所有psutil.Process类的方法。Popen类的作用是获取用户启动的应用程序进程信息,以便跟踪程序进程的运行状态。
进程过滤实例:
了解更对内容请查看官方文档:psutil.readhtedocs.io
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/11823.html