RWHOD(8) FreeBSD システム管理者マニュアル RWHOD(8)
名称
rwhod − システムステータスサーバ |
書式
rwhod [−i] [−p] [−l] [−m [ttl]] |
解説 |
rwhod ユーティリティは、 rwho(1) や ruptime(1) プログラムで使われるデータ ベースを管理するサーバです。ネットワークにおいて ブロードキャストもしくは マルチキャストメッセージが使用できることが前提となります。 rwhod ユーティリティはステータス情報の生成と利用の両方を行います。ただ し、 −l (listen モード) オプションを指定した場合は例外で、利用のみ行いま す。情報の生成では、定期的にシステムに状態を問い合わせ、ステータスメッ セージを構築してネットワークにブロードキャストします。情報の利用では、他 の rwhod サーバからの状態メッセージを受け取り、検査してから、 /var/rwho ディレクトリの下のファイルに記録します。 次のオプションが使用可能です: |
−i
オプションは、安全ではないモードを有効にします。このモードでは、 rwhod は入力パケットのソースポートを無視します。 −p −l −m [ttl] オプションの ttl 引数が −m フラグとともに与えられた時には、 rwhod は IP マルチキャストデータグラムを TTL が ttl として、全てのイン タフェースではなく 1 つのインタフェースに対して送ります。 ttl は 0 から 32 (または、MAX_MULTICAST_SCOPE) までの値です。 −m 1 は、 −m とは異なることに注意してください。 −m 1 は、1 つのインタフェー スにだけ転送を行います。 −m フラグが、 ttl 引数無しで使われた場合、プログラムはマルチキャ スト rwhod 報告を全てのマルチキャストが利用可能なインタフェースか ら受け取ります。 ttl 引数が与えられた場合は、マルチキャストレポー トは 1 つのインタフェースからだけ受け取ります。その 1 つは、報告 を行っているものです (これは、ホストルーティング表によって制御さ れます)。 −m オプションに関係なく、プログラムはブロードキャストも しくはユニキャストによる報告を全てのインタフェースから受け取りま す。したがって、このプログラムは、マルチキャストを使っていない古 い rwhod から報告を受け取りますが、マルチキャストが使われている場 合には古い rwhod はこのプログラムによって生成される報告を受け取れ ないことになります。 サーバは、‘‘who’’ サービスで指定されているポート番号でメッセージを送受信 します。 services(5) を参照して下さい。送受信するメッセージは以下のような 形式です。 struct outmp { |
char out_line[8]; /* 端末 (tty) 名 */ |
||
char out_name[8]; /* ユーザID */ |
||
long out_time; /* 時刻 */ |
}; struct whod { |
char wd_vers; |
||||
char wd_type; |
||||
char wd_fill[2]; |
||||
int wd_sendtime; |
||||
int wd_recvtime; |
||||
char wd_hostname[32]; |
||||
int wd_loadav[3]; |
||||
int wd_boottime; |
||||
struct whoent { |
||||
struct outmp we_utmp; |
||||
int we_idle; |
||||
} wd_we[1024 / sizeof (struct whoent)]; |
}; すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されま す。ホスト負荷 (load average) は w(1) によって計算され、送信の 5, 10, 15 分前の負荷を 100 倍した整数として表現されます。ホスト名は、 gethostname(3) システムコールで得られたものがドメイン名を省略して格納され ます。メッセージの最後の配列には、メッセージを送信したマシンにログインし ているユーザの情報が格納されています。この情報は、 utmp(5) の非アイドルの 端末ラインのエントリと、その端末ラインから最後に文字を受け取った時間を秒 数で表した値が入っています。 rwhod サーバによって受信されるメッセージは、 rwhod サーバのポートから送信 されたものでないか、 −i オプションが指定されていなければ捨てられます。さ らにメッセージのホストの名前が表示できない ASCII 文字を含んでいる場合も、 メッセージは捨てられます。 rwhod が受け取った正しいメッセージは /var/rwho ディレクトリに whod.hostname というファイル名で格納されます。これらのファ イルには、最新のメッセージだけが、上で説明した形式で残っています。 ステータスメッセージはほぼ 3 分ごとに作成されます。 rwhod ユーティリティ は、30 分ごとに /boot/kernel/kernel に対して nlist(3) を実行します。これ は、このファイルがその時点での実際のシステムイメージであることを確認する ためです。 |
関連項目
バグ
ネットワーク間でステータス情報を中継する方法が必要です。ステータス情報 は、ずっと送りつづけるのではなく、要求があったときにだけ送るようにするべ きでしょう。サーバが死んでいたり、ネットワークの通信障害を、マシンがダウ ンしていると思い込んでしまう場合がよくあります。 |
歴史
rwhod ユーティリティは 4.2BSD で登場しました。 FreeBSD 10.0 December 11, 1993 FreeBSD 10.0 |