動作原理

Dr.Web ConfigDコンポーネントは常にroot権限で実行されます。また、他のDr.Web for UNIX Internet Gatewaysコンポーネントを起動し、事前に開いていたソケットを介してそれらのコンポーネントと連携します。設定管理デーモンは、Dr.Web for UNIX Internet Gatewaysのその他のコンポーネントから、情報ソケット(すべてのコンポーネントがアクセス可能)および管理ソケット(root権限で実行されるコンポーネントのみがアクセス可能)を介して接続を受け入れることができます。また、ファイルから、またはDr.Web ES Agentを介して集中管理サーバーから設定とライセンスに関する情報を読み込みます。さらに、設定パラメータの正しいデフォルト値を設定します。いずれかのコンポーネントが起動するか、SIGHUPシグナルを受信するまでに、すべてのDr.Web for UNIX Internet Gatewaysコンポーネントの包括的で一貫性のある設定パラメータ一式がDr.Web ConfigDに設定されます。

SIGHUPシグナルを受信すると、Dr.Web ConfigDは設定パラメータとライセンス情報を再度読み込みます。必要に応じて、デーモンはすべてのコンポーネント通知を送信して、設定を再度読み込むように指示します。

SIGTERMシグナルを受信すると、Dr.Web ConfigDはすべてのコンポーネントをシャットダウンした後、その動作を終了します。また、Dr.Web ConfigDはシャットダウン後、コンポーネントのすべての一時ファイルを削除します。

コンポーネントの連携の原則
 

1.起動時に、すべてのコンポーネントはDr.Web ConfigDから設定パラメータとライセンスに関する情報を受け取ります。このパラメータのみが以降の操作で使用されます。

2.このデーモンは、管理されているすべてのコンポーネントから統合ログにメッセージを収集します。stderrコンポーネントに出力されたすべての情報は、Dr.Web ConfigDによって収集され、どのコンポーネントが出力したかを示すマークとともにDr.Web for UNIX Internet Gatewaysの統合ログに書き込まれます。

3.シャットダウンすると、管理されているコンポーネントは終了コードを返します。コードが101102、または103ではない場合、設定デーモンはこのコンポーネントを再起動します。そのため、コンポーネントが異常終了すると再起動され、stderrからのエラーメッセージがDr.Web for UNIX Internet Gatewaysのログに登録されます。

コード101は、現在のライセンスでコンポーネントが動作できない場合に返されます。ライセンスパラメータを変更した後にのみ、コンポーネントが再起動されます。

コード102は、現在の設定パラメータでコンポーネントが動作できない場合に返されます。Dr.Web ConfigDは、設定パラメータが変更されたときにコンポーネントの再起動を試みます。

コード103は、Dr.Web ConfigDがリクエストに応じて起動したコンポーネント(Dr.Web Scanning EngineおよびDr.Web File Checker)が長い間アイドル状態だった場合に返されます。コンポーネントがシャットダウンするまでの時間は、その設定で指定されます(IdleTimeLimitパラメータ)。

設定管理デーモンから受け取った設定パラメータをオンザフライで適用できない場合、Dr.Web ConfigDがそれを再起動するように、コンポーネントはコード0で存在します。

コンポーネントが設定デーモンに接続できない、または通信プロトコルエラーが発生する場合、コンポーネントはstderrに適切なメッセージを出力し、コード1で終了します。

4.シグナル交換は次のように構成されています。

Dr.Web ConfigDはSIGHUPシグナルをコンポーネントに送信し、変更した設定パラメータを適用します。

Dr.Web ConfigDはSIGTERMシグナルをコンポーネントに送信し、コンポーネントをシャットダウンします。このシグナルを受信した後、コンポーネントは30秒後にシャットダウンします。

30秒経ってもコンポーネントがシャットダウンしない場合、Dr.Web ConfigDはSIGKILLシグナルを送信して強制的にシャットダウンします。