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按列索引提取文件夹内所有excel指定列汇总(示例代码)

    下面我会详细讲解“python按列索引提取文件夹内所有excel指定列汇总”的完整实例教程。在教程中,我会使用Python语言和一些第三方库来实现这个功能。 一、需求分析 首先,我们需要明确我们的需求:从一个文件夹内的所有Excel文件中,提取出指定列的数据,并将其汇总到一个新的文件中。具体来说,我们可以定义如下需求: 文件夹路径:我们需要指定需要处理的Ex…

    python 2023年5月13日
    00
  • python实现清屏的方法

    下面是Python实现清屏的方法的完整攻略。 方法一:使用os模块 我们可以使用os模块提供的system函数来清屏。具体步骤如下: 导入os模块 python import os 使用os.system()函数,传入不同操作系统的清屏命令。比如Windows操作系统的清屏命令为“cls”,Linux/Unix/MacOS操作系统的清屏命令为“clear”。…

    python 2023年6月2日
    00
  • 用Python实现插值算法

    以下是关于“用Python实现插值算法”的完整攻略: 简介 插值算法是一种常见的数值分析方法,它可以用于估计未知函数在给定点的值。在本教程中,我们将介绍如何使用Python实现插值算法,包括插值算法的基本原理、插值算法的实现方法、插值算法的优化等。 插值算法的基本原理 插值算法的基本原理是通过已知数据点的函数值来估计未知数据点的函数值。插值算法的实现方法通常…

    python 2023年5月14日
    00
  • Python中figure与axies绘图有哪些不同

    在Python中进行数据可视化的时候,matplotlib是最常用的绘图库之一。绘制图形的时候,通常需要使用figure和axies两个对象。这两个对象的区别是: Figure是一个顶层容器,一个画布,就是我们看到的一个整体框架 Axes是Figure中的子容器,图表绘制的地方 因为Figure中可以包含多个Axes,所以我们可以在同一个figure对象中绘…

    python 2023年5月18日
    00
  • 稳扎稳打学Python之容器 可迭代对象 迭代器 生成器专题讲解

    稳扎稳打学Python之容器、可迭代对象、迭代器、生成器专题讲解 一、前言 Python 是一门广泛使用的编程语言,其语法简单、易学易用,而且有着强大的数据处理能力。在 Python 中,容器、可迭代对象、迭代器和生成器是非常重要的知识点,对 Python 学习和实际应用有着重要作用。 本文将深入讲解 Python 中的容器、可迭代对象、迭代器和生成器,带领…

    python 2023年5月14日
    00
  • python生成并处理uuid的实现方式

    下面是关于“python生成并处理uuid的实现方式”的详细攻略: 什么是UUID UUID是通用唯一标识符(Universally Unique Identifier)的缩写,也称全局唯一标识符(Globally Unique Identifier)。UUID是一个128位的值,它保证在全球范围内是唯一的,并且通常用于标识需要在不同计算机、网络、数据库之间…

    python 2023年6月3日
    00
  • Python实现求解括号匹配问题的方法

    以下是Python实现求解括号匹配问题的方法的详细攻略。 什么是括号匹配问题? 括号匹配问题指的是在一个字符串中判断括号的开闭是否匹配,即要求每一个左括号都能够找到与之对应的右括号,反之亦然。例如,对于字符串 “([]){}”,括号的开闭匹配是正确的,而对于字符串 “([)]”,括号的开闭匹配是不正确的。 解决括号匹配问题的思路 括号匹配问题可以使用栈来解决…

    python 2023年6月3日
    00
  • python pip源配置,pip配置文件存放位置的方法

    下面是关于Python pip源配置和配置文件存放位置的方法的详细攻略: Python pip源配置 1. 国内优秀的pip源 由于python默认的pip源在国内下载速度很慢,因此我们需要选择国内比较优秀的pip源。中国境内主要的pip源有清华源、阿里云源、豆瓣源等。 推荐使用清华源,具体的源地址如下: https://pypi.tuna.tsinghua…

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