题目描述:

(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 简易任务管理器相关推荐

  1. python 简易HTTP服务器搭建

    安装Python简易HTTP服务器 大多数Linux/Unix/mac OS操作系统都已默认安装,直接运行以下命令即可,其中"8008"为指定的端口号:如果没有安装python,可 ...

  2. python局域网大文件_[源码]Python简易http服务器(内网渗透大文件传输含下载命令)...

    Python简易http服务器源码 import SimpleHTTPServer import SocketServer import sys PORT = 80 if len(sys.argv) ...

  3. mayapython开关_Maya Python 简易教程.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspPython Maya Python 简易教程.doc25页 本 ...

  4. Python 简易实现 quoted-printable 编码

    参考链接: 网络管理员在线工具 python模块之quopri: quoted-printable编解码 以下有关内容基于 Python 3: Python 简易实现 quoted-printable ...

  5. python简易自动化之pyautogui 2020-12-19

    python简易自动化之pyautogui 2020-12-19 学习自动化,参考网上介绍,测试了一下,效果很好.记录如下. pip install pyautogui 安装pyautogui模块,这 ...

  6. Python 简易版贪食蛇(源代码)

    Python 简易版贪食蛇 简易版贪食蛇代码如下,直接运行即可. 1. 效果图 2.源代码 源代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*-im ...

  7. python简易BMI测体重

    python简易BMI测体重 代码如下,望对你有用 height=float(input("请输入你的身高(单位为米):")) weight=float(input("请 ...

  8. python简易有道词典

    0.说明 通过浏览器跟踪[有道词典]和[有道翻译]网页查询过程,制作python简易字典. 代码案例在:https://github.com/suchocolate/test/tree/master/ ...

  9. 基于python简易小说阅读器(一)

    基于python简易小说阅读器(一) 实现功能:界面显示小说内容,界面的最下方有按键实现章节切换   后台需要有小说内容的数据,针对这一块,python的爬虫模块requests可以满足项目需求,前端 ...

最新文章

  1. UIButton拖动响应事件,距离问题
  2. python如何调用文件进行换位加密_python 换位密码算法的实例详解
  3. 在装有raid卡的服务器上安装Ubuntu
  4. 今天的种到地下的cadfans2012
  5. Vue笔记-vue3中.en.dev文件及axios.defaults.baseURL的使用
  6. table表格for循环绑定数据_.NET MVC 页面表格绘制
  7. Initialization of bean failed; nested exception is org.springframework.beans.factory.: 错误分析
  8. 朋友的身份证被骗子注册了支付宝开通了花呗,消费了三千被催债才知道花呗被盗如何处理?
  9. 【2020团体程序设计天梯赛】L1部分(PTA,L1-065到L1-072)题解代码
  10. 《STK二次开发 C++版》S1:STK介绍
  11. execute()方法
  12. 2018麦考林杂志计算机科学,加拿大大学2020年最新的麦考林杂志排名
  13. 转:nginx allow 多个ip ipv4的网段表示方法解析
  14. 电脑上怎么截图按什么键?电脑截图的快捷键是什么?
  15. python字符串加减乘除_从字符串解析加减乘除符号
  16. Tent-Logistic-Cosine混沌映射(提供参考文献及Matlab代码)
  17. 微信公众平台:JustOracle(微信号:justoracle)现已开通,热忱欢迎你的加入
  18. android自定义相机拍照
  19. 相机分辨率、图片分辨率、像素及图片尺寸关系的思考
  20. VLAN作用以及特点

热门文章

  1. Linux常用Office办公软件
  2. ovs set_field/load/move action
  3. VSCode下使用markdown导出pdf,导出图片或插入LaTeX公式等使用记录(1)
  4. ZOJ4125 Sekiro
  5. 北京师范大学计算机学院院长,计算机学院成功举办北京师范大学对口支援学术报告会...
  6. swiper插件实现幻灯片左右箭头切换效果。
  7. 武汉中显触摸屏在电动汽车充电桩系统中的应用
  8. 超过C++,这门编程语言成为鹅厂程序员的最爱
  9. 使用H-lua框架制作魔兽争霸地图(5-物编-单位篇)
  10. 北大BBS2008年毕业生晒工资贴