本文地址:https://www.cnblogs.com/tujia/p/15418512.html
主要用到的 signal 信息处理库,不过这个库在 windows 上不好使,windows 上要用 win32api
直接上代码吧:
import time import platform def on_term(): print('closing...') time.sleep(2) def register_exit_handler(): if platform.system() == 'Windows': # windows 平台 import win32api win32api.SetConsoleCtrlHandler(lambda signum: signum == 2 and on_term(), True) else: # Unix 平台 import signal signal.signal(signal.SIGTERM, lambda signum, frame: on_term()) if __name__ == '__main__': print('running...') register_exit_handler() while True: pass
signal 文档:signal --- 设置异步事件处理程序 — Python 3.8.12 文档
win32api 文档:tjguk/pywin32-docs: HTML version of pywin32 docs from chm (github.com)
本文地址:https://www.cnblogs.com/tujia/p/15418512.html
完。