【问题标题】:How do I use Python to kill a process that has run out of memory? [duplicate]如何使用 Python 杀死内存不足的进程? [复制]
【发布时间】:2021-07-01 03:48:25
【问题描述】:

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

os.kill(pid, 9)

这通常有效。但是,有时,进程在运行时由于 OutOfMemoryError 异常而崩溃。这使得进程的整个 UI 冻结,无法再与之交互,如果我向进程发送 kill 信号,os.kill 函数将被阻塞,没有任何反应。

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

如果进程由于无法处理的错误而无法接收任何信号,是否有任何方法可以通过 Python 代码模拟此任务管理器功能?

【问题讨论】:

    标签: python windows winapi process system


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      相关资源
      最近更新 更多