如何使用 Python 杀死内存不足的进程?

问题描述

我正在尝试使用 PID 杀死 Windows 上的进程

os.kill(pid,9)

这通常有效。但是,有时进程在运行时会由于 OutOfMemoryError 异常而崩溃。这使得进程的整个 UI 冻结,无法再与之交互,如果我向进程发送 kill 信号,os.kill 函数就会阻塞,什么也不会发生。

如果进程以这种方式崩溃,我也无法通过常规 Windows GUI 关闭它。但是,如果我打开任务管理器,在“详细信息”选项卡中查找进程,然后选择“结束任务”,它会立即关闭而不会出现问题。

如果进程由于无法处理的错误而无法接收任何信号,有没有办法通过Python代码模拟这个任务管理器功能

解决方法

如果要模拟结束过程,只需要使用os.system

import os
os.system("taskkill /F /T /IM MyProcess.exe")