私はSSH / Telnet接続が失われたときにユーザーが失いたくないデータを含む可能性があるメールプログラムを作成しようとしています。SIGHUP
プロセスに転送されますか?結局「電話を切る」信号なのに…
答え1
デフォルトでは、プロセスはSIGHUP
。
SIGHUP
あなたの場合は、aを受信したときにユーザーのタスクを保存するトラップルーチンをプログラムに含めます。を除くすべての信号をキャプチャして処理できますSIGKILL
。SIGTERM
割り込みに対しても同じルーチンを実行できます。
信号の受信を防ぐために使用できる他のメカニズムがありますが、SIGHUP
信号を処理するのが最も簡単で安全です。他の方法が失敗した場合、またはSIGHUP
コマンドと共に送信されると、ジョブを保存せずにkill
プロセスは終了し続けます。