私はこのようなことをしています
def exitHandler(self, *args):
self.stopThreads()
sys.exit(2)
そして、その関数をself.runに登録します(デーモン化されたプログラムで作業します)
signal.signal(signal.SIGTERM, self.exitHandler)
self.stopThreads() が完了するまでに時間がかかることがあります。それらのスレッドによって開始されたサブプロセスを停止しています。シグナル ハンドラが複数回呼び出されると、次のようなエラー メッセージが表示されます。
Exception SystemExit: 2 in <bound method Popen.__del__ of <subprocess.Popen object at 0x929d10c>> ignored
無視された例外があっても、スレッドのすべてのプロセスが正常に終了します。私が間違っていることと、無視された例外エラーを取り除く方法に興味があります。