我的 Python 程序在 ubuntu 终端窗口中运行。如果终端窗口直接关闭,需要发生一个事件,在该事件中我将向服务器发送一条消息,表明应用程序已退出。我尝试了以下但它不起作用。
def window_handler(self):
CommandExecutor.processCommands(0, ProjectConstants.EXIT)
signal.signal(signal.SIGTERM, window_handler)
我也尝试过其他信号...我怎样才能做到这一点?提前致谢...
最佳答案
关闭一个终端将发送SIGHUP
到以那个终端的伪tty作为他们的控制终端的进程。
因此捕获 SIGHUP
而不是 SIGTERM
应该可行。
我不确定在 Python 中处理信号时是否需要考虑一些特殊注意事项,但这是另一个问题的主题。 :)
关于python - 用于 Linux 的 Python 中的终端窗口关闭事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7318836/