環境:
私は 3 つの子にフォークする python サーバーを持っています。
親の場合:
- SIGTERM はすべての子を殺すことになっており、SIGHUP はログに記録して存在することになっています
子供の場合:
- SIGTERM と SIGHUP の両方が SIG_DFL にマップされます
問題:
コマンドラインからスクリプトを開始し、python <script.py>
SIGHUP を親に送信すると、kill -1 <pid-of-parent>
正常に動作します。親は終了し、使用中の子は I/O が完了した後にのみ終了します。
しかし、同じスクリプトが systemd スクリプトで開始された場合、SIGHUP を親に送信すると、まだビジー状態の子は SIGTERM を受信し、I/O が中断されます。
これに対する説明/解決策はありますか? 設定ミスですか?