前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python监控进程的状态

用Python监控进程的状态

作者头像
Python研究所
发布2022-06-17 08:37:31
7660
发布2022-06-17 08:37:31
举报
文章被收录于专栏:大飞的部落阁

背景

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

环境准备

依赖库

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

安装

代码语言:javascript
复制
pip install psutil

代码准备

代码语言:javascript
复制
# 导入依赖库
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)

执行效果

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 环境准备
    • 依赖库
      • 安装
      • 代码准备
      • 执行效果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档