教你用Python监控进程的CPU使用率

Python实战 专栏收录该内容
2 篇文章 0 订阅

背景

在平时的工作中,经常会有某些进程突然CPU飙升,导致系统卡顿。那如何才能监控某个进程的CPU利用率呢?我们今天就一起用Python来实现下。

环境准备

依赖库

psutil是Python的一个很流行的库,用来获取系统资源信息的。它支持windows和linux,可以获取CPU,内存,网络,硬盘等信息。

安装

pip install psutil

代码准备

# 导入依赖库
import psutil,time
import re,string

# 打印系统全部进程的PID列表
print(psutil.pids())

# 根据进程名获取进程PID
def get_pid(name):
    process_list = list(psutil.process_iter())
    print(process_list)
    regex = "pid=(\d+),\sname=\'" + name + "\'"
    print(regex)
    pid = 0
    for line in process_list:
        process_info = str(line)
        ini_regex = re.compile(regex)
        result = ini_regex.search(process_info)
        if result != None:
            pid = result.group(1)
            print(pid)
            print(result.group())
            return int(pid)

# 根据进程PID获取进程对象
def get_process_obj_by_id(pid):
    try:
        p = psutil.Process(pid)
    except Exception as e:
        print(e)
    return p

# 获取Taskmgr的PID
pid = get_pid('Taskmgr.exe')

# 根据Taskmgr的PID获取Taskmgr进程对象
process_obj=get_process_obj_by_id(pid)
num=0
while True:
    num+=1
    # 获取Taskmgr的CPU实时利用率,interval为间隔时间
    per = process_obj.cpu_percent(interval=1)
    print(num ,per)

执行效果

以上就是今天的全部内容了,感谢您的阅读,我们下节再会。

  • 3
    点赞
  • 4
    评论
  • 3
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值