欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python查询并杀死Windows进程

时间:2023-05-25
python 进程操作psutil

psutil可以获取系统运行状态,包括系统进程、CPU、内存、磁盘等信息,可以用于监控系统状态,且支持Linux/macOS/Windows平台。

安装psutil

pip install psutil

进程查询

psutil.pids() #获取当前系统上的进程idpsutil.Process(pid) #基于进程id查询单个进程信息(进程id,进程名,进程状态)进程id ### 示列>>> print(psutil.pids())[0, 4, 140......]>>> print(psutil.Process(0))psutil.Process(pid=0, name='System Idle Process', status='running')

杀死windows 进程

# psutil库未提供杀死进程的函数, 杀死进行可以通过cmd命令或者os.kill()函数import osimport signal#通过cmd命令os.system("taskkill -f -pid 8036") #杀死进程id为8036的进程#或者os.kill()函数os.kill(8036, signal.SIGINT)

示列

# 杀死进程名为sleep_test1的所有进程import psutilimport osimport signalpids = psutil.pids()for pid in pids: p = psutil.Process(pid) pid_name = p.name() print(f"{pid} {pid_name}") for pid in pids: if pid in orig_pids: pass else: try: p = psutil.Process(pid) # get process name according to pid process_name = p.name() # kill process "sleep_test1" if 'sleep_test1' == process_name: print("kill specific process: pid(%s) %s" %(pid,p.name())) os.kill(pid, signal.SIGINT) except Exception as err: pass

遇到的问题 程序执行时报错 psutil.AccessDenied: psutil.AccessDenied (pid=13340)

​ 解决办法:该错误时权限不足导致的。可以通过以管理员身份运行 方式pycharm然后再执行脚本方式解决。通过以管理员身份运行cmd,然后再cmd里执行Python脚本也可以解决。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。