python 简易任务管理器
题目描述:
(1)新建一个项目,在可视化界面中放置一个按钮可用于结束特定进程。
(2)拓展:进一步修改程序,给出一个列表显示正在运行的程序,让用户选择关闭哪个程序。
解题思路/算法分析/问题及解决
PID(Process Identification)操作系统里指进程识别号,也就是进程标识符。只要运行一程序,系统会自动分配一个标识。本次实验具体就是根据特定进程的pid然后点击相应的按钮kill该进程。
拓展部分可调用相关函数获取当前系统中所有进程相关信息,然后在listview中展现,让用户通过鼠标双击结束特定的进程。
实验代码
def clickedlist(self,qModelIndex):try:os.kill(self.dic[qModelIndex.row()],signal.SIGINT) #kill用户选中的进程del self.dic[qModelIndex.row()] # 同步删除储存进程信息字典中该进程的信息self.update() # 调用update函数更新listview中显示的内容print("--------")QMessageBox.information(self, "QListView", "你kill了: " + self.qList[qModelIndex.row()]+"进程")print("点击的是:" + str(qModelIndex.row()))except:QMessageBox.critical(self, 'wrong','该进程无法删除')def search(self):pids = psutil.pids() # 获取当前系统中的进程信息print(pids)self.qList = []for (idx, pid) in enumerate(pids): # 通过循环将进程信息在listview中显示出来 self.dic[idx] = pidpid_info = "pid:{pid},name:{name}".format(pid=pid, name=psutil.Process(pid).name())self.qList.append(pid_info)self.update() # 调用update函数更新listview中显示的内容def update(self):self.qList = []for key, val in self.dic.items():pid_info = "pid:{pid},name:{name}".format(pid=val, name=psutil.Process(val).name())self.qList.append(pid_info)self.slm.setStringList(self.qList)self.listView.setModel(self.slm)self.label_num.setText(str(len(self.qList)))def refresh(self):pids = psutil.pids()self.qList = []for (idx, pid) in enumerate(pids):self.dic[idx] = pidpid_info = "pid:{pid},name:{name}".format(pid=pid, name=psutil.Process(pid).name())self.qList.append(pid_info)self.update()
运行结果
完整代码
【网盘链接】
提取码:27yz
python 简易任务管理器相关推荐
- python 简易HTTP服务器搭建
安装Python简易HTTP服务器 大多数Linux/Unix/mac OS操作系统都已默认安装,直接运行以下命令即可,其中"8008"为指定的端口号:如果没有安装python,可 ...
- python局域网大文件_[源码]Python简易http服务器(内网渗透大文件传输含下载命令)...
Python简易http服务器源码 import SimpleHTTPServer import SocketServer import sys PORT = 80 if len(sys.argv) ...
- mayapython开关_Maya Python 简易教程.doc
您所在位置:网站首页 > 海量文档  > 计算机 > Python Maya Python 简易教程.doc25页 本 ...
- Python 简易实现 quoted-printable 编码
参考链接: 网络管理员在线工具 python模块之quopri: quoted-printable编解码 以下有关内容基于 Python 3: Python 简易实现 quoted-printable ...
- python简易自动化之pyautogui 2020-12-19
python简易自动化之pyautogui 2020-12-19 学习自动化,参考网上介绍,测试了一下,效果很好.记录如下. pip install pyautogui 安装pyautogui模块,这 ...
- Python 简易版贪食蛇(源代码)
Python 简易版贪食蛇 简易版贪食蛇代码如下,直接运行即可. 1. 效果图 2.源代码 源代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*-im ...
- python简易BMI测体重
python简易BMI测体重 代码如下,望对你有用 height=float(input("请输入你的身高(单位为米):")) weight=float(input("请 ...
- python简易有道词典
0.说明 通过浏览器跟踪[有道词典]和[有道翻译]网页查询过程,制作python简易字典. 代码案例在:https://github.com/suchocolate/test/tree/master/ ...
- 基于python简易小说阅读器(一)
基于python简易小说阅读器(一) 实现功能:界面显示小说内容,界面的最下方有按键实现章节切换 后台需要有小说内容的数据,针对这一块,python的爬虫模块requests可以满足项目需求,前端 ...
最新文章
- UIButton拖动响应事件,距离问题
- python如何调用文件进行换位加密_python 换位密码算法的实例详解
- 在装有raid卡的服务器上安装Ubuntu
- 今天的种到地下的cadfans2012
- Vue笔记-vue3中.en.dev文件及axios.defaults.baseURL的使用
- table表格for循环绑定数据_.NET MVC 页面表格绘制
- Initialization of bean failed; nested exception is org.springframework.beans.factory.: 错误分析
- 朋友的身份证被骗子注册了支付宝开通了花呗,消费了三千被催债才知道花呗被盗如何处理?
- 【2020团体程序设计天梯赛】L1部分(PTA,L1-065到L1-072)题解代码
- 《STK二次开发 C++版》S1:STK介绍
- execute()方法
- 2018麦考林杂志计算机科学,加拿大大学2020年最新的麦考林杂志排名
- 转:nginx allow 多个ip ipv4的网段表示方法解析
- 电脑上怎么截图按什么键?电脑截图的快捷键是什么?
- python字符串加减乘除_从字符串解析加减乘除符号
- Tent-Logistic-Cosine混沌映射(提供参考文献及Matlab代码)
- 微信公众平台:JustOracle(微信号:justoracle)现已开通,热忱欢迎你的加入
- android自定义相机拍照
- 相机分辨率、图片分辨率、像素及图片尺寸关系的思考
- VLAN作用以及特点
热门文章
- Linux常用Office办公软件
- ovs set_field/load/move action
- VSCode下使用markdown导出pdf,导出图片或插入LaTeX公式等使用记录(1)
- ZOJ4125 Sekiro
- 北京师范大学计算机学院院长,计算机学院成功举办北京师范大学对口支援学术报告会...
- swiper插件实现幻灯片左右箭头切换效果。
- 武汉中显触摸屏在电动汽车充电桩系统中的应用
- 超过C++,这门编程语言成为鹅厂程序员的最爱
- 使用H-lua框架制作魔兽争霸地图(5-物编-单位篇)
- 北大BBS2008年毕业生晒工资贴