编程语言
首页 > 编程语言> > python 捕获命令窗口终结信号并处理(event handler)

python 捕获命令窗口终结信号并处理(event handler)

作者:互联网

本文地址:https://www.cnblogs.com/tujia/p/15418512.html

 

主要用到的 signal 信息处理库,不过这个库在 windows 上不好使,windows 上要用 win32api

 

直接上代码吧:

import time
import platform


def on_exit(signum, frame=None):
    if signum == 2:
        print('closing...')
        time.sleep(2)


def register_exit_handler():
    if platform.system() == 'Windows': # windows 平台
        import win32api
        win32api.SetConsoleCtrlHandler(on_exit, True)
    else: # Unix 平台
        import signal
        signal.signal(signal.SIGTERM, on_exit)


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


完。

 

标签:__,python,signal,handler,exit,import,event,win32api
来源: https://www.cnblogs.com/tujia/p/15418512.html