1
當使用Python的多,什麼是保證代碼每當進程退出(既乾淨或致命錯誤。)蟒蛇多 - 運行邏輯,當進程終止
如果我寫這封信將運行到清理的正確方法我進程繼承自Process
對象,我應該將該功能放在對象的__del__
方法中嗎?我嘗試將簡單的日誌語句放入terminate
,但腳本收到SIGHUP或KeyboardInterrupt
時似乎沒有執行。
當使用Python的多,什麼是保證代碼每當進程退出(既乾淨或致命錯誤。)蟒蛇多 - 運行邏輯,當進程終止
如果我寫這封信將運行到清理的正確方法我進程繼承自Process
對象,我應該將該功能放在對象的__del__
方法中嗎?我嘗試將簡單的日誌語句放入terminate
,但腳本收到SIGHUP或KeyboardInterrupt
時似乎沒有執行。
Python有atexit-處理程序,這在我的經驗中是非常可靠的。
是啊 - IIRC,'atexit'雖然不處理信號。 – senderle
@senderie:你說得對。信號不由python處理,將繞過atexit處理程序。我想有可能爲這些情況編寫信號處理程序。文檔包含所有的小字體。 – mirk