psutil模块

psutil是一个跨平台库(http://pythonhosted.org/psutil/)能够轻松实现获取系统运行的进程和系统利用率(包括CPU、内存、磁盘、网络等)信息。它主要用来做系统监控,性能分析,进程管理。
使用pustil库之前,需要先安装,安装命令如下:

pip install psutil

进程信息

pids = psutil.pids()
for pid in pids:p = psutil.Process(pid)# get process name according to pidprocess_name = p.name()print("Process name is: %s, pid is: %s" %(process_name, pid))

可以查看的进程信息:

p.name()   #进程名
p.exe()    #进程的bin路径
p.cwd()    #进程的工作目录绝对路径
p.status()   #进程状态
p.create_time()  #进程创建时间
p.uids()    #进程uid信息
p.gids()    #进程的gid信息
p.cpu_times()   #进程的cpu时间信息,包括user,system两个cpu信息
p.cpu_affinity()  #get进程cpu亲和度,如果要设置cpu亲和度,将cpu号作为参考就好
p.memory_percent()  #进程内存利用率
p.memory_info()    #进程内存rss,vms信息
p.io_counters()    #进程的IO信息,包括读写IO数字及参数
p.connections()   #返回进程对象的列表
p.num_threads()  #进程开启的线程数p.username()  #执行用户的名

杀掉指定进程

linux系统

import signalpids = psutil.pids()
for pid in pids:p = psutil.Process(pid)# get process name according to pidprocess_name = p.name()# kill process "sleep_test1"if 'sleep_test1' == process_name:print("kill specific process: name(%s)-pid(%s)" %(process_name, pid))os.kill(pid, signal.SIGKILL)  exit(0)

报错:

AttributeError: module 'signal' has no attribute 'SIGKILL'

参考文章AttributeError: module ‘signal‘ has no attribute ‘SIGKILL‘,修改上面代码:

 #os.kill(pid, signal.SIGKILL) os.kill(pid, signal.INT)

依然报错:

Traceback (most recent call last):File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\_pswindows.py", line 679, in wrapperreturn fun(self, *args, **kwargs)File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\_pswindows.py", line 933, in create_timeuser, system, created = cext.proc_times(self.pid)
ProcessLookupError: [Errno 3] assume no such process (originated from OpenProcess -> ERROR_INVALID_PARAMETER)During handling of the above exception, another exception occurred:Traceback (most recent call last):File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\__init__.py", line 354, in _init    self.create_time()File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\__init__.py", line 710, in create_timeself._create_time = self._proc.create_time()File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\_pswindows.py", line 681, in wrapperraise convert_oserror(err, pid=self.pid, name=self._name)
psutil.NoSuchProcess: psutil.NoSuchProcess process no longer exists (pid=17184)During handling of the above exception, another exception occurred:Traceback (most recent call last):File "main.py", line 128, in <module>KilWebServerProcess(casepath)File "main.py", line 41, in KilWebServerProcessp = psutil.Process(pid)File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\__init__.py", line 326, in __init__self._init(pid)File "C:\Users\xrw020\AppData\Local\Programs\Python\Python38\lib\site-packages\psutil\__init__.py", line 367, in _init    raise NoSuchProcess(pid, None, msg)
psutil.NoSuchProcess: psutil.NoSuchProcess no process found with pid 17184

分析原因:os.kill()是linux系统杀死进程的方法,对于windows系统并不适用

windows系统

#根据进程名杀死进程
pro = 'taskill /f /im %s'% process_name
os.system(pro)
#根据pid杀死进程
process = 'taskill /f /pid %s'%pid
os.system(process)

相关文献

【Python】 系统配置/进程等信息查看 psutil
如何用python查看进程

python杀掉某个指定的进程相关推荐

  1. pkill mysql_Linux学习28-linux一行命令杀掉指定名称进程(killall 、kill 、pkill)

    前言 常见面试题:如何用一句 linux 指令,查找到指定名称的进程并杀掉 常用的杀进程的三个指令:killall .kill .pkill 杀进程几种方式 killall命令用于杀死指定名字的进程( ...

  2. linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...

    在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...

  3. python多进程线程学习_python进程、线程的学习心得

    什么是多线程竞争? 线程不是独立的,同一个进程里的线程,线程间的数据是共享的,多线程操作时,容易造成数据的混乱,线程不安全. 如何解决? 互斥锁. 好处:能够保证某段关键代码执行时,只有一个线程操作, ...

  4. Python自动化运维 - day9 - 进程与线程

    概述 我们都知道windows是支持多任务的操作系统. 什么叫"多任务"呢?简单地说,就是操作系统可以同时运行多个任务.打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Wo ...

  5. python代码判断指定日期是当前年的第多少天

    python代码判断指定日期是当前年的第多少天 #python代码判断指定日期是当前年的第多少天 #不适用标准库 def is_leap_year(year):"""判断 ...

  6. python 字符串按指定分隔符分割

    python 字符串按指定分隔符分割 def str_split(str1,str2):"""# 字符串分割:param str1:字符串:param str2:分隔符: ...

  7. python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法

    需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01 ...

  8. 如何杀掉D状态的进程?[zt]【转】

    转自:http://blog.csdn.net/chinalinuxzend/article/details/4288791 [-] 如何杀掉D状态的进程zt 相关博文 原贴:http://www.x ...

  9. python 在excel指定列添加数据_python读取excel指定列数据并写入到新的excel方法

    如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...

  10. “已使用指定的进程(“Web Management Service”)连接到远程计算机,但未能验证服务器的证书”的解决方案

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:"已使用指定的进程("Web Management Service")连接到远程计算机,但未能验证服务器 ...

最新文章

  1. 6426C Lab3 部署证书和管理注册
  2. 2021人工智能年度评选报名即将截止,3大类别6大奖项等你申报
  3. HTML5的新特性----拖放功能
  4. ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)
  5. 【计算机网络】网络层 : DHCP 协议 ( DHCP 协议概念 | DHCP 协议特点 | DHCP 协议流程 )
  6. AI基础:矩阵求导,你一定要收藏
  7. 算法笔记-两数之和、三数之和、四数之和(LeetCode)
  8. redhat 5.6 启动出现 UNEXPECTED INCONSISTENCY RUN fsck MANUALLY
  9. CRM Fiori Application top N Opportunity
  10. [剑指offer][JAVA][面试第40题][最小的k个数][快选][堆][BST]
  11. lucene创建索引的几种方式(一)
  12. php中is upload,PHP中,文件上传
  13. latex table 表格中 文字对齐
  14. 部署容器jenkins_使用Jenkins部署用于进行头盔检测的烧瓶容器
  15. MySQL练习题 (练习表+题目+答案)
  16. Python3之标准库
  17. Excel IF+COUNTIF、IFERROR+VLOOKUP使用组合公式
  18. 恒指赵鑫:8.7恒指德指喊单记录与晚盘前瞻
  19. JS网页特效实例:让网页前进和后退
  20. APK无法识别gsensor问题剖析

热门文章

  1. matlab数据取整方法小结
  2. 巧用PPT模板,远离翻车风险
  3. 2021中青杯C题-在线教学的分析与研究
  4. xz1刷Android10,索尼xz1国行版安卓9.0固件
  5. Snipaste安装教程及软件(截图工具)
  6. 颜色透明度16进制对照表
  7. 阅读器背景推荐和效果图
  8. 灰度化处理——灰度化
  9. 双闭环矢量控制的电压型PWM整流器参数整定
  10. python能做什么有趣的东西-Python 里itchat 模块能实现什么有趣的东西?