1
我必須將內存中的數據寫入文件以關閉我的控制檯應用程序。我如何檢測控制檯關閉事件?如何捕捉用戶通過「X」按鈕關閉控制檯應用程序
我必須將內存中的數據寫入文件以關閉我的控制檯應用程序。我如何檢測控制檯關閉事件?如何捕捉用戶通過「X」按鈕關閉控制檯應用程序
當終端關閉時,你的程序會得到一個SIGHUP,默認情況下會終止它。添加一個信號處理程序來處理SIGHUP,做任何你想做的事情。如果你編程寫入控制檯後它已經關閉,你也可以得到SIGPIPE,正確處理
根據[文檔](http://docs.python.org/2/library/signal.html ?'highlight = sighup#signal.signal),「在Windows上,'signal()'只能用'SIGABRT','SIGFPE','SIGILL','SIGINT','SIGSEGV'或'SIGTERM'來調用。在任何其他情況下都會產生ValueError。「這意味着不可能在該平臺上爲「SIGHUP」設置信號處理程序,至少從Python開始。 – martineau
事實上,在Windows上,'signal.SIGHUP'甚至沒有定義。 – martineau
對不起,沒有看到這是Windows –