Python - How to detect when user closes a console application via “X” button

前端 未结 1 1260
名媛妹妹
名媛妹妹 2021-01-19 11:20

I currently have a Console based python program running under windows. The program maintains most of its data in memory and periodically saves the data to disk, or when the

相关标签:
1条回答
  • In windows

    if you are using pywin32, you can perform an event before the console is closed, I'm not sure this will tell you who or what is closing it, but maybe this gets you half way. You might also want to check out: Prevent a console app from closing ...

    def on_exit(signal_type):
       print('caught signal:', str(signal_type))
    
    import win32api
    win32api.SetConsoleCtrlHandler(on_exit, True)
    

    For those who come across this and use Linux...

    the SIGHUP signal is thrown (signal hang up) when you close an SSH session/window.

    import signal
    
    signal.signal( signal.SIGHUP, handler )
    
    def handler(signum, frame):
      #this is called when the terminal session is closed
      #do logic before program closes
      pass
    
    0 讨论(0)
提交回复
热议问题