关闭终端选项卡会产生什么操作系统中断?

时间:2014-04-10 16:04:31

标签: python windows interrupt

我认为关闭终端窗口(或嵌入在IDE中的终端窗口)会向终端中运行的进程发送某种OS中断信号。我怎样才能知道这个信号是什么?我正在寻找一种方法来捕获中断,运行一些清理,然后中止。我正在使用Python和Windows。

2 个答案:

答案 0 :(得分:3)

您正在寻找SIGHUP

  

SIGHUP       当SIGHUP信号的控制终端关闭时,SIGHUP信号被发送到进程。它最初旨在通知该过程   串行线丢弃(挂断)在现代系统中,这个信号   通常意味着控制伪或虚拟终端已经   封闭。[3]许多守护进程将重新加载其配置文件和   收到这个时,重新打开他们的日志文件,而不是退出   信号。[4] nohup是一个使命令忽略信号的命令。

答案 1 :(得分:0)

对于这种情况,Python似乎没有例外。最接近的是SystemExit,但实际上并没有捕获您正在寻找的中断。

在关闭终端时,Windows似乎实际上在发送进程之前发送了Ctrl + C,但捕获KeyboardInterrupt似乎也无法正常工作。此时,您可能需要查看signal模块。