Logo address

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