SIGTERMシグナルを正常に処理する方法は?
Pythonで書かれたそのような簡単なデーモンがあるとしましょう: def mainloop(): while True: # 1. do # 2. some # 3. important # 4. job # 5. sleep mainloop() そしてstart-stop-daemon、デフォルトでSIGTERM(TERM)シグナルを送信するを使用してデーモン化します--stop。 現在実行されているステップがであるとしましょう#2。そして、この瞬間にTERM信号を送信しています。 実行はすぐに終了します。 を使用してシグナルイベントを処理できることがわかりましたsignal.signal(signal.SIGTERM, handler)が、それでも現在の実行が中断され、コントロールがに渡されhandlerます。 だから、私の質問は-現在の実行を中断せずTERMに、別のスレッド(?)でシグナルを処理shutdown_flag = Trueしmainloop()て、正常に停止するように設定できるようにすることは可能ですか?