デーモンが起動時にのみ設定ファイルを読み取るのはなぜですか?そのファイル/ホットリロードの変更に「反応」できないのはなぜですか? [閉鎖]

デーモンが起動時にのみ設定ファイルを読み取るのはなぜですか?そのファイル/ホットリロードの変更に「反応」できないのはなぜですか? [閉鎖]

構成変更を適用するには、HUPをデーモンに送信する必要があることを理解してください。しかし、なぜこれが起こるのか、そのような変化に対応するデーモンを作成することが可能かどうかを知りたいのです。

ベストアンサー1

いくつかの理由があります。主な理由の1つは、多くのデーモンが複数の設定ファイルを持っていて、単一のファイル変更がそれ自体で機能しない可能性があることです。したがって、構成ファイルのいずれかが変更されるたびにデーモンの構成を再ロードしようとすると、解決されるよりも多くの問題が発生する可能性があります。質問。

純粋に実装の観点からは、構成ファイルの変更を監視する必要があると、デーモンはより複雑になります。デーモンには、デーモンの主な目的に対応するタスクが実行されることを確認する一種の中央ループがあります。構成ファイルの変更を確認することが必ずしもその重要な目的に合うわけではありません。

別々の信号を処理すると、両方の問題が解決されます。設定が一貫して再ロードされても安全であることをユーザーに通知し、メインループへの影響を最小限に抑えながら、シグナルハンドラ(通常はデフォルトフラグの変更)で非同期に実装できます。フラグの変更に反応します)。

一部のデーモンは設定変更自体に反応します。cronたとえば、基本ループが実行されるたびに、その構成ファイルの変更を確認します。

おすすめ記事