[B1.2]ネットワークプロセスマネージャ
ネットワークプロセスマネージャはそれぞれの計算機に一つデーモンとして
はしり、KONOEのネットワーク分散環境をサポートします。例えばリモート
シェル機能などを使えばコントロールセンターが直接プロセスの制御を
することも可能ですが、KONOEとしての環境を実現するためにデーモンとして
走らせます。
データやコマンドメッセージ、ログメッセージなどはすべて直接該当
プロセス同士で通信します。ネットワークプロセスマネージャはDAQプロセス
などが例えば暴走したり落ちてしまったときに復旧するなど、いわば
ネットワーク分散シェルの一部を分担します。
通常、それぞれのプロセスはソケットを通してコマンドをやりとりすることで
制御されます。しかし、プログラムの不具合などで、コマンドを送っても
それに応答しないことも考えられます。このような場合、シグナルを送ることで
復旧することが必要になります。これらもネットワーク透過ではないので、
ネットワークプロセスマネージャがそれを代わりに行うことになります。
1.ネットワークプロセスマネージャの機能
上で説明したようにネットワークプロセスマネージャは二つの主な仕事が
あります。
- その計算機の上で走るプロセスの起動・停止などの管理と監視。
- その計算機の上で走るプロセスへのシグナルの伝達。
1.1.プロセスの管理
ネットワークプロセスマネージャはコントロールセンターとのメッセージ
通信に応答して、その計算機上に必要なプロセスを起動したり、適当な
シグナルを送ります。
その計算機上で走っているDAQプロセスは何らかの理由で実行継続が
出来なくなった場合など、ネットワークプロセスマネージャにシグナルを
送り、障害を通知します。
起動されたDAQプロセスはネットワークプロセスマネージャのPIDなどを
知っている必要があります。
1.2.シグナル処理
コントロールセンターからの命令に従い、プロセスにシグナルを送ります。
一般的にはプロセスのIDを必要としますが、それらはプロセスを起動した
マネージャが管理しています。コマンドとしては、対象となるプロセス名と
シグナルの種類が与えられることになります。
2.ネットワークプロセスマネージャの実装
ネットワークプロセスマネージャはコントロールセンターをサーバとして
クライアント接続をします。その経路を通してコマンドを受け取ります。
基本的には、コントロールセンターからコマンドを受け取り、それに応答して
処理を行うことになります。
プロセスの起動停止はログすべき事項です。そのため、システムロガーとの
接続を確保し、必要なメッセージを送ります。
マネージャが起動した子プロセスが実行を終了するときには親プロセスで
あるマネージャにシグナルを送ります。マネージャはそのシグナルを受け取る
必要があります。

[clients/procman.html] Last Modified : 14-Mar-2001.
KONOEコラボレーション
konoe-req@konoe.kek.jp