mon
目次
2004/12/12
モニター mon は、httpd の実行をモニターし、httpd が何かの原因で終了した場合に、直ちに新たに httpd を実行します。
Pegasus 2.1 付属の mon は -u user
を指定したときにもパスワードが不要です。従ってユーザ web のパスワード管理の煩わしさから解放されます。
Location
/usr/web/bin/$objtype/mon
用法
mon [-d] [-u user] [-r req] command argument ...
オプション
-d
-
デモンとして実行する
-u user
-
mon が起動するプログラムを指定されたユーザ ID で実行する
{-u user} の指定がないときには none が仮定されます。また {-u .} の場合には mon を起動したユーザ ID で動作します。
-r req
-
factotum format of X.509 certificate signing request
command
-
mon が起動するプログラムへのパス
argument
-
command の引数
制限事項
mon はホストオーナーによって実行される事を想定しています。システムのオーナーである bootes による実行、またはローカルディスクで動く Plan 9 端末のホストオーナーによる実行では認証サーバの設定は必要ありません。mon をファイルサーバーの下で動く Plan 9 端末で起動する場合には認証サーバの/lib/ndb/auth
を修正します。このファイルは標準設定ではhostid=bootes uid=!sys uid=!adm uid=*となっていますが、筆者の場合には
hostid=bootes uid=!sys uid=!adm uid=* hostid=arisawa uid=webとなっています。これによって arisawa がホストオーナーである端末ではユーザ arisawa はユーザ web にパスワード無しに変身可能になります。(詳しくは su ver.1.4 を参照してください。
その他
mon は/sys/log/mon
に記録を保管します。mon は、5秒以内に command が終了した場合に終了します。これは command の実行エラーがあった場合への保護です。5秒を越える場合には(これは command として httpd のようなデモンを想定している)、command を kill note などで終了させても、直ちにその command を再起動します。
例
mon の動作確認
me を実行してみてプロセスの生成ユーザとファイルの生成ユーザが正しく web になっている事を確認する。term% mon -u web me web 123 0:00 0:00 180K Pread ps --rw-rw-rw- M 53 web none 0 Dec 15 22:21 /usr/none/tmp/me term%me に関しては su ver.1.4 を参照してください。
httpd の実行
mon -du web /usr/local/bin/386/httpd -usM