1
我有一個python 3腳本,它在啓動時運行。它可以在退出時使用一些我想要的資源。Python檢測到kill請求
我該如何管理該腳本將要退出,如果我用kill -6 $PID
將其終止。
或有關如何發送退出命令並在腳本中檢測到它的任何其他想法。
我有一個python 3腳本,它在啓動時運行。它可以在退出時使用一些我想要的資源。Python檢測到kill請求
我該如何管理該腳本將要退出,如果我用kill -6 $PID
將其終止。
或有關如何發送退出命令並在腳本中檢測到它的任何其他想法。
signal模塊是您正在尋找的。
import singal
def handler(signum, frame):
print 'Signal handler called with signal', signum
signal.signal(signal.SIGABRT, handler)
在處理函數中,您可以用sys.exit()
來終止。
但是,使用SIGINT(這是在終端中按Ctrl + C時發生的情況)或SIGTERM終止程序時更常見。如果你沒有清理代碼,你不需要編寫一行代碼來處理SIGINT - 默認情況下它會產生一個KeyboardInterrupt異常,如果沒有被捕獲(這就是爲什麼你不應該使用空白except:
語句的原因),導致你的程序終止。
我決定在KeyboardInterrupt中使用SIGINT。非常感謝 –