首页 > 解决方案 > 如何在 Python 中处理 Windows 终端关闭事件?

问题描述

我使用“py”命令在 Windows 终端上运行 .py 脚本。是否有任何回调函数可以添加到该 .py 脚本来处理意外关闭终端窗口的事件?(例如点击“X”按钮)

标签: pythonwindowsmultithreadingterminalcallback

解决方案


你可以这样尝试:

import time

def on_exit(sig, func=None):
print("exit handler")
time.sleep(10)  # so you can see the message before program exits

-视窗:

如果你安装 pywin32 包,你可以:

import win32api
win32api.SetConsoleCtrlHandler(on_exit, True)

如果您使用的是 Windows,请选择 win32api。

-Un*x:

或者,如果您在 *nix 系统下使用 python 内部“信号”库:

import signal
signal.signal(signal.SIGTERM, on_exit)

推荐阅读