在Python中强制终止脚本时运行函数

在Python中强制终止脚本时运行函数,python,logging,termination,Python,Logging,Termination,我已经创建了一个日志,并希望在python脚本强制终止时对其进行更新。这将有助于跟踪所有强制终止。我尝试过,但是atexit()仅在正常终止时运行 只需捕获键盘中断异常 这个简单的程序演示了当按下Ctrl+C组合键退出时如何运行函数 def main(): while True: input('') def onexit(): print('on exit') try: main() except KeyboardInterrupt: onex

我已经创建了一个日志,并希望在python脚本强制终止时对其进行更新。这将有助于跟踪所有强制终止。我尝试过,但是
atexit()
仅在正常终止时运行

只需捕获
键盘中断
异常

这个简单的程序演示了当按下Ctrl+C组合键退出时如何运行函数

def main():
    while True:
        input('')

def onexit():
    print('on exit')

try:
    main()
except KeyboardInterrupt:
    onexit()

脚本是如何终止的?键盘还是被其他东西杀死了?是的,键盘将进行终止。Ctrl+Z如何?这不是终止,是吗。这又让整个过程停滞不前了。请参阅,这将不适用于其他(非键盘)终止信号(例如,使用
kill-SIGTERM
强制终止)。使用
信号
模块并监听所有“终止”信号是一个更为全面的解决方案。当然,op已经使用的atexit功能在保持跨平台的同时不会处理这个问题吗?