python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程)

Python中的psutil模块详解

什么是psutil

psutil是一个跨平台的系统监控库,可以获取CPU、内存、磁盘和网络等系统信息。使用psutil可以实现监控系统,实现自动化运维等功能。

安装psutil

使用pip可以轻松安装psutil:

pip install psutil

获取CPU使用率

使用psutil.cpu_percent()方法可以获取CPU使用率,如下所示:

import psutil

# 获取CPU使用率
cpu_percent = psutil.cpu_percent(interval=1)
print("CPU使用率:{}%".format(cpu_percent))

其中interval参数表示获取CPU使用率的时间间隔,默认为1秒。

获取内存使用情况

使用psutil.virtual_memory()方法可以获取内存使用情况,如下所示:

import psutil

# 获取内存使用情况
mem = psutil.virtual_memory()
# 总内存
total = mem.total / 1024 / 1024
# 使用中的内存
used = mem.used / 1024 / 1024
# 空闲内存
free = mem.free / 1024 / 1024
print("内存使用情况:总内存{}MB,使用中{}MB,空闲{}MB".format(round(total), round(used), round(free)))

其中virtual_memory()方法返回的是一个命名元组,包含了总内存、使用中的内存、空闲内存等信息。

获取磁盘使用情况

使用psutil.disk_usage()方法可以获取磁盘使用情况,如下所示:

import psutil

# 获取磁盘使用情况
disk_usage = psutil.disk_usage("/")
# 磁盘总大小
total = disk_usage.total / 1024 / 1024 / 1024
# 磁盘已用大小
used = disk_usage.used / 1024 / 1024 / 1024
# 磁盘剩余大小
free = disk_usage.free / 1024 / 1024 / 1024
print("磁盘使用情况:总磁盘大小{}GB,已用{}GB,剩余{}GB".format(round(total, 2), round(used, 2), round(free, 2)))

其中disk_usage()方法返回的也是一个命名元组,包含了磁盘总大小、已用大小和剩余大小等信息。

结束指定进程

使用psutil.process_iter()方法可以迭代所有进程,使用process.name()可以获取进程的名称,使用process.pid可以获取进程的PID。

import psutil

# 结束指定进程
def terminate_process(process_name):
    for process in psutil.process_iter():
        try:
            # 获取进程名称
            name = process.name()
            # 判断进程是否为指定进程
            if name == process_name:
                print("正在结束进程:", name)
                # 结束进程
                process.terminate()
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass
    print("进程结束操作完成")

if __name__ == "__main__":
    terminate_process("notepad.exe")

以上代码会结束所有名称为notepad.exe的进程。

总结

以上就是psutil模块的详细讲解,使用psutil可以轻松地获取系统信息,实现监控系统、自动化运维等功能,是Python系统编程中的重要工具之一。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python中的psutil模块详解(cpu、内存、磁盘情况、结束指定进程) - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • Python中浅拷贝的四种实现方法小结

    下面是Python中浅拷贝的四种实现方法小结的详细攻略。 标题 Python中浅拷贝的四种实现方法小结 简介 在Python中,一个对象的引用赋值给另一个变量时,实际上是把这个对象的地址复制给了这个变量。为了避免对原始变量的修改影响到新变量,通常需要进行拷贝。浅拷贝是拷贝了原对象的一份引用,而不是拷贝了原对象本身。本文将介绍Python中实现浅拷贝的四种方法…

    python 2023年5月14日
    00
  • 详解Python PIL Image.show()方法

    Python PIL是一个强大的图像处理库,其中包含了许多函数和方法。其中,Image.show()方法是一个很常用的方法,它的作用是用系统默认的图像查看器展示当前图片。 方法介绍 PIL库的Image模块提供了显示图像的方法,在这个模块内,show()方法可以接收一个图像对象,并且用默认的可执行文件查看这个图像。 在使用show()方法之前,我们需要先安装…

    python-answer 2023年3月25日
    00
  • Python 组合不受约束重复

    【问题标题】:Python combinations no repeat by constraintPython 组合不受约束重复 【发布时间】:2023-04-01 14:12:01 【问题描述】: 我有一个元组(Name, val 1, val 2, Class) tuple = ((“Jackson”,10,12,”A”), (“Ryan”,10,20…

    Python开发 2023年4月8日
    00
  • 初学python的操作难点总结(新手必看篇)

    初学Python的操作难点总结(新手必看篇)完整攻略 1. 引言 Python作为一种入门级别的编程语言,因其简洁易读、易学易用的特点逐渐受到越来越多开发者的欢迎。但是,对于一些新手来说,在学习Python时,可能会遇到一些操作难点,比如常见的输入输出操作、变量类型转换、函数定义等等。本文就针对初学Python的新手,对这些操作难点进行总结并提供解决方案,希…

    python 2023年5月30日
    00
  • Python实现对中文文本分段分句

    Python实现对中文文本分段分句 在中文文本处理中,对文本进行分段分句是一个常见的需求。Python提供了多种方法来实现这个功能。本文将总结Python实现对中文文本分段分句的方法,并提供两个示例说明。 方法一:使用正则表达式 正则表达式是一种强大的文本处理工具,可以用来匹配文本中的各种模式。我们可以使用正则表达式来匹配中文句子,并将文本分段分句。以下是示…

    python 2023年5月14日
    00
  • python scrapy爬虫代码及填坑

    接下来我将为您详细讲解“python scrapy爬虫代码及填坑”的完整攻略。 一、scrapy爬虫代码 Scrapy是一个Python框架,它主要用于抓取Web站点,并从中提取所需的数据。Scrapy由以下三个主要组件组成:Scrapy引擎、调度程序和下载器。在使用Scrapy框架时,您需要编写爬虫代码以定义抓取的目标站点以及所需数据的选择器。以下是一个简…

    python 2023年5月14日
    00
  • 使用python实现kmean算法

    K均值聚类算法是一种常用的无监督学习算法,它可以将数据集分成K个簇,每个簇包含最接近其质心的数据点。在本文中,我们将介绍如何使用Python实现K均值聚类算法。 步骤1:导入必要的库 在实现K均值聚类算法之前,我们需要导入必要的库。在这个例子中,我们将使用numpy和matplotlib库。numpy库用于处理数值计算,matplotlib库用于绘制图表。我…

    python 2023年5月14日
    00
  • Python实现简单的”导弹” 自动追踪原理解析

    Python实现简单的”导弹”自动追踪原理解析 前言 本文介绍如何使用Python实现一个简单的”导弹”自动追踪功能。该功能主要包括两个部分,首先是识别并实时跟踪目标的位置;其次是对目标进行自动追踪。本文将分别介绍二者的实现过程。 识别目标位置 获取视频流 首先需要获取视频流,并将其转换为一系列帧。这可以通过使用OpenCV库来实现。 import cv2 …

    python 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部