名 前
rwhod — シ
ス テ ム ス テ ー
タ ス サ ー バ 書
式
rwhod [−bpa] [−u user]
説 明
rwhod は 、 rwho(1) と ruptime(1)
プ ロ グ ラ ム で
使 用 さ れ る デ
ー タ ベ ー ス を
管 理 す る サ ー
バ で あ る 。 こ
の サ ー バ の 運
用 は 、 ネ ッ ト
ワ ー ク 上 で ブ
ロ ー ド キ ャ ス
ト メ ッ セ ー ジ
が 使 用 で き る
こ と を 前 提 と
し て い る 。
rwhod は 、 ス テ ー タ ス 情 報 の 作 成 側 と し て も 、 利 用 側 と し て も 動 作 す る 。 情 報 の 作 成 側 と し て は 、 シ ス テ ム 状 態 を 定 期 的 に 問 い 合 わ せ 、 ネ ッ ト ワ ー ク に ブ ロ ー ド キ ャ ス ト さ れ る ス テ ー タ ス メ ッ セ ー ジ を 作 成 す る 。 情 報 の 利 用 側 と し て は 、 他 の rwhod サ ー バ の ス テ ー タ ス メ ッ セ ー ジ を 受 け 取 り 、 確 認 し た 後 、 /var/spool/rwho デ ィ レ ク ト リ に 作 ら れ た フ ァ イ ル に 記 録 す る 。 サ ー バ は 、 ’’rwho’’ サ ー ビ ス の 指 定 で 指 示 さ れ て い る ポ ー ト を 使 っ て メ ッ セ ー ジ の 送 受 信 を 行 う 。 services(5) を 参 照 す る こ と 。
−b フ ラ グ が 指 定 さ れ た 場 合 、 イ ー サ ネ ッ ト の よ う な ブ ロ ー ド キ ャ ス ト イ ン タ ー フ ェ ー ス の み が 使 わ れ る 。 −p フ ラ グ が 指 定 さ れ た 場 合 、 point-to-point の イ ン タ ー フ ェ ー ス の み が 使 わ れ る 。 −a フ ラ グ が 指 定 さ れ た 場 合 、 ま た は フ ラ グ が 何 も 指 定 さ れ な い 場 合 、 全 て の イ ン タ ー フ ェ ー ス が 使 わ れ る 。
−u フ ラ グ が 指 定 さ れ た 場 合 、 rwhod は root で は な く 指 定 さ れ た ユ ー ザ ー と し て 実 行 さ れ る 。 送 受 信 さ れ る メ ッ セ ー ジ は 以 下 の 形 式 で あ る 。
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)]; }; 全 て の フ ィ ー ル ド は 、 送 信 の 前 に ネ ッ ト ワ ー ク バ イ ト オ ー ダ ー に 変 換 さ れ る 。 平 均 負 荷 は w(1) プ ロ グ ラ ム に よ っ て 計 算 さ れ 、 サ ー バ が 送 信 す る 前 の 5, 10, 15 分 間 隔 の 平 均 負 荷 を 表 す 。 平 均 負 荷 は 100 を 掛 け て 整 数 で 表 さ れ る 。 使 用 さ れ る ホ ス ト 名 は 、 gethostname(2) シ ス テ ム コ ー ル に よ っ て 返 さ れ た も の で 、 ド メ イ ン 名 は 省 略 さ れ る 。 メ ッ セ ー ジ の 最 後 の 配 列 に は 、 メ ッ セ ー ジ を 送 信 し た マ シ ン に ロ グ イ ン し て い る ユ ー ザ ー の 情 報 が 含 ま れ て い る 。 こ の 情 報 に は 、 ア イ ド ル で な い 端 末 ラ イ ン の utmp(5) エ ン ト リ と 端 末 ラ イ ン か ら 最 後 に 文 字 が 受 信 さ れ て か ら の 秒 数 が 入 っ て い る 。 |
rwho サ
ー バ に 受 信 さ
れ る メ ッ セ ー
ジ は 、 rwho サ ー バ
の ポ ー ト か ら
送 信 さ れ た も
の で な け れ ば
、 破 棄 さ れ る
。 さ ら に 、 メ
ッ セ ー ジ 中 で
指 定 さ れ た ホ
ス ト 名 が 表 示
で き な い ASCII 文 字
を 含 ん で い る
場 合 も 、 メ ッ
セ ー ジ は 破 棄
さ れ る 。 rwhod に
受 信 さ れ た 有
効 な メ ッ セ ー
ジ は 、 デ ィ レ
ク ト リ /var/spool/rwho に
あ る whod.hostname と い
う フ ァ イ ル に
入 れ ら れ る 。
こ れ ら の フ ァ
イ ル に は 、 最
新 の メ ッ セ ー
ジ の み が 上 で
説 明 し た フ ォ
ー マ ッ ト で 格
納 さ れ て い る
。 ス テ ー タ ス
メ ッ セ ー ジ は
、 約 3 分 に 1 回 作
成 さ れ る 。 rwhod
は シ ス テ ム の
ブ ー ト 時 刻 を 30
分 毎 に 再 計 算
す る 。 な ぜ な
ら 、 (Linux 以 外 の )
シ ス テ ム の 中
に は 、 ブ ー ト
時 刻 の 計 算 が
完 全 に 信 用 の
お け る プ ロ セ
ス で は な い シ
ス テ ム も 存 在
す る た め で あ
る 。 関 連 項 目
rwho(1), ruptime(1) バ グ ネ
ッ ト ワ ー ク 間
で ス テ ー タ ス
情 報 を 中 継 す
る 方 法 が 必 要
で あ る 。 サ ー
バ が 死 ん で い
る 場 合 や ネ ッ
ト ワ ー ク 通 信
が 失 敗 し て い
る 場 合 に 、 マ
シ ン が ダ ウ ン
し て い る と 解
釈 し て し ま う
こ と が あ る 。
履 歴
rwhod コ マ ン ド は
4.2BSD で 登 場 し た
。