0
我正在Debian上開發一個Python應用程序,當它從ether正常操作或可捕獲信號調用關閉時,需要一些清理函數。下面是一些psudocode:防止Python3中信號處理的競爭條件
def exitHandler(sign, frame)
...
variousCleanUp commands
...
program ends here
def main()
signal.signal(SIGINT, exitHandler)
signal.signal(SIGTERM, exitHandler)
問題的,這是我所檢測到關閉程序時,會導致兩個SIGINT和SIGTERM發送。因此,exitHandler函數被調用兩次,這不應該發生。
我能做些什麼來防止這種情況發生?