我在問這是因爲我有一些使用鎖定文件的Python代碼,我想知道在哪些情況下程序可以終止而不會拋出異常(或以不可處理的方式結束),並且隨後將不存在處理和鎖定文件將不得不手動刪除。我想要做這樣的事情:python程序可以以什麼方式終止而不引發異常?
try:
% Check if lock file exists; if not, create it, do some processing, etc...
finally:
% Process ended --or-- possibly exception thrown; clean up lock file
例如,CTRL + C可以通過異常處理,一個破管可由異常處理,等等
的唯一的情況是我可以想象程序在沒有異常情況下可以終止的地方在於計算機的電源是否被關閉。在這種情況下,我可以寫一個腳本來清除啓動時的所有鎖定文件。還有其他人嗎?
編輯:的意思是說「鎖定文件」,而不是「標誌文件」
在linux中存在着不能被捕獲一個終止信號。不知道其他平臺,但... – MCManuelLP
除了Linux kill信號,還有可能的操作系統故障:Windows藍屏,Linux內核恐慌,......不是100%確定,但我猜這些情況下沒有代碼運行。 – mkiever
@mkiever:那麼也有硬件故障:沒有權力,燒燬,用錘子砸等) –