W(1) | FreeBSD General Commands Manual | W(1) |
名称
w — ログインしているユーザと、その作業内容を表示する書式
w | [ -dhin][ -M core][ -N system][ user ...] |
解説
w は、システムの現在の動作状況や、ユーザの作業内容を表示します。最初の行は現在時刻、システムの稼働時間、ログインしているユーザ数、システムの平均負荷を表示します。平均負荷は、最近の 1 分、5 分、15 分間における実行キュー内のジョブ数の平均値を表します。出力項目は、ユーザのログイン名とユーザが現在いる端末の名前、ユーザがログインしてきたホスト、ユーザがログインしている時間、ユーザが最後にコマンドを入力してからの経過時間、現在実行しているプロセスの名前と引数です。
オプションは、次の通りです:
- -d
- トップレベルのプロセスだけではなく、制御 tty ごとの全プロセスリストをダンプします。
- -h
- 最初の行を出力しません。
- -i
- アイドル時間の順に出力します。
- -M
- デフォルトの /dev/kmem のかわりに、指定された core から名前のリストに関係する値を取り出します。
- -N
- デフォルトの /boot/kernel/kernel のかわりに、指定された system から名前のリストを取り出します。
- -n
- ネットワークアドレスを解決しようとしません (通常 w は、アドレスを解釈してホスト名で表示しようとします)。
1 個以上の user (ユーザ名) が指定されると、指定されたユーザのものだけ出力を行います。
関連ファイル
- /var/run/utx.active
- システム上のユーザのリスト
互換性
-f, -l, -s, -w オプションはサポートされなくなりました。歴史
w は 3.0BSD で登場しました。バグ
“現在実行しているプロセス”の意味はかなりいい加減なものです。現在のアルゴリズムは、“端末の割り込みを無視していない、もっともプロセス-ID の大きいプロセス、それが見つからなければ、その端末のもっともプロセス-ID の大きいプロセスを見つける”という仕組みになっています。これは失敗する場合があります。たとえば、シェルやエディタのようにプログラムがクリティカルセクション (ほかからの割り込みを受け付けるべきではないような重要な操作をする状態) にいる場合や、不完全なプログラムがバックグラウンドで動いていて、割り込みを無視するのに失敗しているような場合です。 (プロセスを見つけることができなかった場合、 w は‘-
’を表示します)。
CPU 時間は、特に、誰かがログアウトした後でもバックグラウンドで実行中のプロセスがあれば、その端末で現在使用中の人に時間が“追加”されるという見積りであるにすぎません。
バックグラウンドで動いているプロセスは、たとえその負荷が非常に大きくても出力されません。
バックグラウンドである場合に典型的ですが、プロセスに空白やゴミの引数がついて表示されることがあります。このような場合、コマンドの名前は丸括弧で括られて表示されます。
w はバックグラウンドジョブを発見する新しい、便利な法則を知りません。そのため、正しいものでなく、バックグラウンドジョブを見つけてしまうことがあります。
January 21, 2010 | FreeBSD |