# 依据Python撰写1个监管CPU的软件系统

> 作者/来源: UCloud 运营管理员
> 发布时间: 2023-01-12T02:47:00.000Z
> 分类: 其他
> 标签: Python
> 原文链接: http://117.50.162.249:3000/yun/articles/643

---

# 依据Python撰写1个监管CPU的软件系统

> 来源: https://www.ucloud.cn/yun/130253.html
> 作者: 89542767
> 发布日期: 发布于2023-01-12 10:47

应用电脑工作时，有时不清楚什么软件或过程会占有许多资源，造成开展别的任务后发生减缓、卡屏的现象。因而，智能监控系统资源就会变得至关重要。文中用Python撰写了一台超治好的RunCat监控应用系统软件，所需要的可以了解一下

　　引言

　　大家好！我就是木木子，近来好懒了哈太热了.jpg

　　有空来给大家升级一下啦！今天发布——跟这本文写姊妹篇哈~

　　应用Mac电脑工作时，有时不清楚什么软件或过程会占有许多资源，造成开展别的任务后发生减缓、卡屏的现象。因而，智能监控系统资源就会变得至关重要。

![01.png](https://ucloud-blog.cn-bj.ufileos.com/articles/130253/images/130253_000.png)

　　可是目前市面上的系统软件电脑监控软件应有尽有，品种繁多，哪种电脑监控软件最好是？

　　今天小编就给大家详细介绍一个非常好用的Mac电脑监控软件飞奔的猫猫，希望能够对自身情况了有一定的帮助。

![02.png](https://ucloud-blog.cn-bj.ufileos.com/articles/130253/images/130253_001.png)

　　嗯哼大王~win10计算机不乐意了，Mac会有的，我不能少，SO一个萌系的猫猫监管微信小程序只做出来啦

　　一、介绍

　　1.1软件简介

　　使用过Mac的可能性了解那么一个手机软件：RunCat。

　　是一款萌系的Mac系统电脑监控软件，它能通过动漫方式停留在您的系统软件通知栏里。

![03.png](https://ucloud-blog.cn-bj.ufileos.com/articles/130253/images/130253_002.png)

　　猫猫能通过启动速度对你说Mac的CPU使用率。并且RunCat为工具栏带来了关键帧动画，动漫依据Mac的CPU应用情况更改速率。

　　自然RunCat不仅仅有猫，也有许多动物和动漫，例如：

　　猫????—狗????—措豹????—小兔子????—鲸鱼????—小青蛙????—鸟????—小企鹅????—比较长的龙????—传动齿轮⚙️—火????—水珠????—火箭弹????—环⭕️——这些。

　　这运用就功用而言的确不足占优势，可是吃不住它好玩啊。嘿嘿今天我们就喜爱为大家介绍某些好玩儿的物品嘛~

　　此外它带有的免费动画许多，通常情况下或是够用。RunCat是一款比较适合无聊发呆时治愈打发时间的手机软件哦！

　　二、筹备中

　　2.0基本原理介绍

　　基本原理其实不是很难，运用python的psutil包就能轻松地获得现阶段计算机的CPU使用率或是运作内存利用率。再根据使用率来确定拖盘标志的更新时间就行啦。

　　再通过循环系统设定5种不同状态下的icon来达到猫猫奔跑效果，感兴趣的朋友可以制做自己喜欢的

　　的影片随后替换成我找到就OK啦~

　　2.1环境安装

　　Python3、Pycharm。有关控制模块：psutil控制模块；及一些python带有的控制模块。

　　控制模块组装一致应用豆瓣网镜像系统源：

　　pipinstall-ihttps://pypi.douban.com/simple/+控制模块名

　　2.2素材内容提前准备（可改动）

　　猫猫能通过启动速度对你说Mac的CPU使用率，关键都是猫猫做出来的小脚本制作哈，其他的动物能自己学着做啦~

![04.png](https://ucloud-blog.cn-bj.ufileos.com/articles/130253/images/130253_003.png)

　　三、开始敲代码

　　3.1导入模块

```
　　import sys
　　import time
　　import psutil
　　from PyQt5.QtGui import QIcon
　　from PyQt5.QtWidgets import QApplication,QSystemTrayIcon
　　3.2奔跑的猫-CPU
　　def runcatCPU():
　　app=QApplication(sys.argv)
　　#最后一个可视的窗口退出时程序不退出
　　app.setQuitOnLastWindowClosed(False)
　　icon=QSystemTrayIcon()
　　icon.setIcon(QIcon('icons/0.png'))
　　icon.setVisible(True)
　　cpu_percent=psutil.cpu_percent(interval=1)/100
　　cpu_percent_update_fps=20
　　fps_count=0
　　while True:
　　fps_count+=1
　　if fps_count&gt;cpu_percent_update_fps:
　　cpu_percent=psutil.cpu_percent(interval=1)/100
　　fps_count=0
　　#开口向上的抛物线,左边递减
　　time_interval=(cpu_percent*cpu_percent-2*cpu_percent+2)/20
　　for i in range(5):
　　icon.setIcon(QIcon('icons/%d.png'%i))
　　icon.setToolTip('cpu:%.2f'%cpu_percent)
　　time.sleep(time_interval)
　　app.exec_()
　　3.3奔跑的猫-内存
　　def runcatMemory():
　　app=QApplication(sys.argv)
　　#最后一个可视的窗口退出时程序不退出
　　app.setQuitOnLastWindowClosed(False)
　　icon=QSystemTrayIcon()
　　icon.setIcon(QIcon('icons/0.png'))
　　icon.setVisible(True)
　　memory_percent=psutil.virtual_memory().percent/100
　　memory_percent_update_fps=20
　　fps_count=0
　　while True:
　　fps_count+=1
　　if fps_count&gt;memory_percent_update_fps:
　　memory_percent=psutil.virtual_memory().percent/100
　　fps_count=0
　　#开口向上的抛物线,左边递减
　　time_interval=(memory_percent*memory_percent-2*memory_percent+2)/20
　　for i in range(5):
　　icon.setIcon(QIcon('icons/%d.png'%i))
　　icon.setToolTip('memory:%.2f'%memory_percent)
　　time.sleep(time_interval)
　　app.exec_()
```

　　四、效果展示

　　静态截图展示效果

![05.png](https://ucloud-blog.cn-bj.ufileos.com/articles/130253/images/130253_004.png)

　　综上所述，这篇文章就给大家介绍到这里了，希望可以给大家带来帮助。