如何使用 Python 终止内存不足 运行 的进程?
How do I use Python to kill a process that has run out of memory?
我正在尝试使用
终止 windows 上的进程及其 PID
os.kill(pid, 9)
这通常有效。然而,有时进程在 运行 时由于 OutOfMemoryError 异常而崩溃。这使得整个 UI 进程冻结,无法再与之交互,如果我向进程发送 kill 信号,os.kill 函数将被阻塞并且什么也不会发生。
如果进程以这种方式崩溃,我也无法通过常规 windows GUI 关闭它。但是,如果我打开任务管理器,在 'Details' 选项卡中查找进程,select 'End Task' 它会立即关闭,没有任何问题。
如果进程由于无法处理的错误而无法接收任何信号,是否有任何方法可以通过 Python 代码模拟此任务管理器功能?
如果要模拟结束过程,只需要使用os.system
:
import os
os.system("taskkill /F /T /IM MyProcess.exe")
我正在尝试使用
终止 windows 上的进程及其 PIDos.kill(pid, 9)
这通常有效。然而,有时进程在 运行 时由于 OutOfMemoryError 异常而崩溃。这使得整个 UI 进程冻结,无法再与之交互,如果我向进程发送 kill 信号,os.kill 函数将被阻塞并且什么也不会发生。
如果进程以这种方式崩溃,我也无法通过常规 windows GUI 关闭它。但是,如果我打开任务管理器,在 'Details' 选项卡中查找进程,select 'End Task' 它会立即关闭,没有任何问题。
如果进程由于无法处理的错误而无法接收任何信号,是否有任何方法可以通过 Python 代码模拟此任务管理器功能?
如果要模拟结束过程,只需要使用os.system
:
import os
os.system("taskkill /F /T /IM MyProcess.exe")