Python 如果进程终止,请执行某些操作

Python 如果进程终止,请执行某些操作,python,process,exit,Python,Process,Exit,如果进程正在运行,例如用户通过任务管理器意外终止或机器重新启动(因此强制终止进程),我如何注册这样一个事件,使进程在完全终止之前执行某些任务 我尝试过但没有成功的是: from signal import signal from signal import SIGTERM def foo(): print('hello world') if __name__ == '__main__': signal(SIGTERM, foo) while True:

如果进程正在运行,例如用户通过任务管理器意外终止或机器重新启动(因此强制终止进程),我如何注册这样一个事件,使进程在完全终止之前执行某些任务

我尝试过但没有成功的是:

from signal import signal
from signal import SIGTERM

def foo():
    print('hello world')

if __name__ == '__main__':
    signal(SIGTERM, foo)
    while True:
        pass
我将从命令行运行此命令,然后导航到任务管理器并结束任务,但从未调用
foo

根据的答案-任务管理器似乎使用不可屏蔽的信号(相当于Linux的
SIGKILL
)终止进程。这意味着你不能抓住它

有,像
SIGBREAK
SIGCHLD
CTRL\u C\u事件
CTRL\u BREAK\u事件
,但我想任务管理器不会使用其中任何一个来终止进程