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

yizhihongxing

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中,我们可以通过“@”符号来使用装饰器,例如: @decorator def func(): pass 在这个例子中,…

    python-answer 2023年3月25日
    00
  • Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)

    PyCharm是一款流行的Python集成开发环境,可以帮助我们更方便地开发Python应用程序。Pipenv是Python中的虚拟环境管理工具,可以帮助我们更好地管理Python依赖项。本文将详细讲解如何在PyCharm中使用Pipenv新建虚拟环境,包括安装Pipenv、创建虚拟环境、安装依赖项等。 安装Pipenv 要使用Pipenv,我们需要先安装P…

    python 2023年5月15日
    00
  • Python实用工具FuckIt.py介绍

    Python实用工具FuckIt.py介绍 简介 FuckIt.py 是一个Python实用工具,用于解决由于Python代码出错而导致的运行异常或崩溃。它试图解释Python代码,除去错误部分,并将修改后的代码(尽可能使其仍然与原代码保持相似)输出到控制台或文件中。因为解释在运行时进行,因此解释器无法检测到代码被修改的情况,但这个过程确实对于定位问题和调试…

    python 2023年5月19日
    00
  • Python3使用requests模块实现显示下载进度的方法详解

    在Python中,requests是一个常用的HTTP客户端库,可以用于发送HTTP请求和处理HTTP响应。在下载大文件时,可以使用requests库实现显示下载进度的功能。以下是详细讲解Python3使用requests模块实现显示下载进度的方法的攻略,包含两个例。 使用tqdm库实现显示下载进度 tqdm是一个Python进度条库,可以用于显示进度条和估…

    python 2023年5月15日
    00
  • python字典setdefault方法和get方法使用实例

    当使用字典时,有时需要对不存在的键进行操作,这时候使用 get 方法可能会出现问题, 为了防止出错,可以使用 setdefault 方法。 setdefault方法 setdefault 方法用于在字典中设置键的默认值。如果键不存在,则添加该键并将其值设置为指定的默认值,默认值是 None。 setdefault 方法的语法如下: dict.setdefau…

    python 2023年5月13日
    00
  • python语言中有算法吗

    Python语言本身并没有算法,但是Python作为一种高级编程语言,提供了丰富的数据结构和算法库,可以方便地实现各种算法。在本攻略中,我们将介绍Python中常用的算法库和数据结构,并提供两个示例说明。 Python中常用的算法库和数据结构 算法库 Python中常用的算法库包括: NumPy:用于数值计算和科学计算的库,包括矩阵运算、线性代数、傅里叶变换…

    python 2023年5月14日
    00
  • Python pip超详细教程之pip的安装与使用

    下面我将为你详细讲解“Python pip超详细教程之pip的安装与使用”的完整攻略。 什么是pip? pip是Python的包管理工具,可以用来方便地安装和管理Python的第三方库。使用pip能够极大地简化Python项目的依赖关系管理。 如何安装pip? 如果你使用的是Python3.4及以上版本,pip就已经默认安装了。 如果你使用的Python版本…

    python 2023年5月14日
    00
  • 详解Python中的__new__()方法的使用

    详解Python中的__new__()方法的使用 在Python中,__new__()方法是一个特殊的方法,用于创建对象并返回它。它是在__init__()方法之前调用的,用于创建实例并返回它。以下是Python中__new__()方法的详细解释: __new__()方法的基本用法 __new__()方法是一个类方法,用于创建一个新的实例。它的第一个参数是类…

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