python杀掉某个指定的进程
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杀掉某个指定的进程相关推荐
- pkill mysql_Linux学习28-linux一行命令杀掉指定名称进程(killall 、kill 、pkill)
前言 常见面试题:如何用一句 linux 指令,查找到指定名称的进程并杀掉 常用的杀进程的三个指令:killall .kill .pkill 杀进程几种方式 killall命令用于杀死指定名字的进程( ...
- linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...
在Linux系统中使用xkill命令杀掉未响应的进程 我们如何在Linux中杀掉一个资源/进程?很明显我们会找出资源的pid然后用kill命令. 说的更明白一点,我们可以找到某个资源(比如termin ...
- python多进程线程学习_python进程、线程的学习心得
什么是多线程竞争? 线程不是独立的,同一个进程里的线程,线程间的数据是共享的,多线程操作时,容易造成数据的混乱,线程不安全. 如何解决? 互斥锁. 好处:能够保证某段关键代码执行时,只有一个线程操作, ...
- Python自动化运维 - day9 - 进程与线程
概述 我们都知道windows是支持多任务的操作系统. 什么叫"多任务"呢?简单地说,就是操作系统可以同时运行多个任务.打个比方,你一边在用浏览器上网,一边在听MP3,一边在用Wo ...
- python代码判断指定日期是当前年的第多少天
python代码判断指定日期是当前年的第多少天 #python代码判断指定日期是当前年的第多少天 #不适用标准库 def is_leap_year(year):"""判断 ...
- python 字符串按指定分隔符分割
python 字符串按指定分隔符分割 def str_split(str1,str2):"""# 字符串分割:param str1:字符串:param str2:分隔符: ...
- python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法
需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01 ...
- 如何杀掉D状态的进程?[zt]【转】
转自:http://blog.csdn.net/chinalinuxzend/article/details/4288791 [-] 如何杀掉D状态的进程zt 相关博文 原贴:http://www.x ...
- python 在excel指定列添加数据_python读取excel指定列数据并写入到新的excel方法
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...
- “已使用指定的进程(“Web Management Service”)连接到远程计算机,但未能验证服务器的证书”的解决方案
本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:"已使用指定的进程("Web Management Service")连接到远程计算机,但未能验证服务器 ...
最新文章
- 6426C Lab3 部署证书和管理注册
- 2021人工智能年度评选报名即将截止,3大类别6大奖项等你申报
- HTML5的新特性----拖放功能
- ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)
- 【计算机网络】网络层 : DHCP 协议 ( DHCP 协议概念 | DHCP 协议特点 | DHCP 协议流程 )
- AI基础:矩阵求导,你一定要收藏
- 算法笔记-两数之和、三数之和、四数之和(LeetCode)
- redhat 5.6 启动出现 UNEXPECTED INCONSISTENCY RUN fsck MANUALLY
- CRM Fiori Application top N Opportunity
- [剑指offer][JAVA][面试第40题][最小的k个数][快选][堆][BST]
- lucene创建索引的几种方式(一)
- php中is upload,PHP中,文件上传
- latex table 表格中 文字对齐
- 部署容器jenkins_使用Jenkins部署用于进行头盔检测的烧瓶容器
- MySQL练习题 (练习表+题目+答案)
- Python3之标准库
- Excel IF+COUNTIF、IFERROR+VLOOKUP使用组合公式
- 恒指赵鑫:8.7恒指德指喊单记录与晚盘前瞻
- JS网页特效实例:让网页前进和后退
- APK无法识别gsensor问题剖析