signal(7)
によれば、SIGHUP
は、制御端末のハングアップまたは制御プロセスの終了を検出するために使用されます。
ただし、構成のリロードを開始するためにSIGHUP
が使用される多くのOSSデーモン(サービス)に遭遇しました。次にいくつかの例を示します:hostapd
、sshd
、snort
など。
これはリロードを実装するための標準的な(または一般的に受け入れられる)方法ですか?そうでない場合、何がお勧めですか?
端末デーモンが端末から切り離されているため、端末クローズイベントに関する通知としてのSIGHUPはデーモンにとって意味がありません。したがって、システムはこの信号を送信しません。次に、デーモンがこれを別の意味で使用することは一般的な方法であり、通常はデーモンの構成を再ロードします。これは規則ではなく、単なる慣例です。これがマンページに記載されていない理由です。
[〜#〜] sighup [〜#〜] のウィキペディアエントリを参照し、そこから 実装例を含む詳細な説明
私の経験では、SIGHUPは通常、デーモンに構成を再ロードするよう要求するために使用されます。このよく知られた手法の使用は、最小の驚きの原則に従います。ユーザーはこれを正確に行うデーモンに遭遇した可能性が高いので、SIGHUPがデーモンにとって何を意味するかをすぐに理解できます。