我們希望當服務器接收到一個 SIGTERM 信號時能夠自動關機,或者做一些善后的操作,以下是實現的方法
import signal # 自定義信號處理函數 def my_handler(signum, frame): global stop stop = True print("進程被終止") # 設置相應信號處理的handler signal.signal(signal.SIGINT, my_handler) signal.signal(signal.SIGHUP, my_handler) signal.signal(signal.SIGTERM, my_handler) stop = False while True: try: if stop: # 中斷時需要處理的代碼 break except Exception as e: print(str(e)) break