回答:
そのドキュメントを読んでください。それが唯一の方法です。以下のようキースはすでに書いた、の本来の意味SIGHUPは、ユーザーがプログラムへのアクセスを失ったということでした、ので、対話型プログラムは死ぬ必要があります。デーモン(ユーザーと直接対話しないプログラム)は、この動作を必要とせず、SIGHUPを受け取ったときに構成ファイルを頻繁に再読み込みします。しかし、これらは単なる慣例です。
ソースがあれば、それも読むことができます。または、バイナリしか持っていない場合は、それを逆アセンブルしてみsigaction
て、のシグナルハンドラを設定する呼び出しを探し、SIGHUP
それらのシグナルハンドラが何をしているかを理解することができます。そもそもSIGHUPをそのプログラムに送信しないように手配する方が簡単です。
任意の時点で、特定のシグナルに関して、特定のプロセスは、それを無視する、デフォルトのアクションを実行する、またはカスタムハンドラーを実行する3つの状態のいずれかになります。多くの大学ではps
、たとえばps s
Linux上で、プロセスのシグナルマスクを見ることができます。プロセスがシグナルを無視しているのか、SIGHUPで即座に停止するのかはわかりますが、プロセスがハンドラを設定している場合、ハンドラが何をするのかわかりません。