Linuxコマンド辞典 whoコマンド(プロセス管理)
ログイン状況やログインユーザーの情報を表示する「who」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
目次
概要・使用方法
システムにログインしているユーザー情報を表示します。ログインしているユーザー名/端末名/ログイン時刻/接続元ホスト名などが表示されます。システムがブートした時刻やランレベルが変更された時間、端末を利用したメッセージ交換が可能かを表示することもできます。
書式
$ who [オプション] [ファイル名]
オプション
-a –all | 「who -d -d –login -p -r -t -u」と同じ |
-b –boot | 最後にシステムがブートした時刻を表示する |
-l –login | ログインシェルを利用しているプロセスを表示する |
-d -dead | まだ使っていない、既に使い終わっているプロセスを表示する |
–lookup | ログインユーザーのホスト名解を利用する |
-p –process | initにより生成されたプロセスのみを表示する |
-q –count | ログインユーザー名とログイン数を表示する |
-r –runlevel | 現在のランレベルのみを表示する |
-t –time | システムロックが最後に変更された時刻を表示する |
-T、-w –mesg、–message、–writable | ユーザーへのメッセージ状態を追加で表示する |
-u –users | ログインしているユーザーを表示する |
-H –heading | 出力項目に名前/端末/時間などのヘッダを追加する |
システムにログインしているユーザー一覧を表示する
who -H
実行結果
[sunarin@localhost ~]$ who -H
名前 端末 時間 コメント
sunarin pts/0 2022-08-05 11:13 (192.168.0.26)
[sunarin@localhost ~]$
ログインユーザーとユーザー数を表示する
who -q
実行結果
[sunarin@localhost ~]$ who -q
sunarin
ユーザ数=1
[sunarin@localhost ~]$
ランレベルのみ表示する
who -r
実行結果
[sunarin@localhost ~]$ who -r
run-level 5 2022-08-05 11:13
[sunarin@localhost ~]$
システムが起動した時間を表示する
who -b
実行結果
[sunarin@localhost ~]$ who -b
システム起動 2022-08-05 11:13
[sunarin@localhost ~]$
-mオプションか、引数を2つ適用につけると実行者情報に絞って出力する
別ユーザーの利用している端末へアクセスができればメッセージを送ることができます。送信できるかは-Tオプションで確認できます。ユーザー名の後に「+」が表示されれば送信可能、「-」の場合は送信不可、「?」は端末が見つからない場合で表示を示します。端末エミュレータを2つ起動して試してみましょう。
実行結果
[sunarin@localhost ~]$ who -m
sunarin pts/0 2022-08-05 11:13 (192.168.0.26)
[sunarin@localhost ~]$
[sunarin@localhost ~]$ who i b
sunarin pts/0 2022-08-05 11:13 (192.168.0.26)
[sunarin@localhost ~]$
writeでメッセージを実際に送信する
実行結果
writeコマンドでメッセージ送信する。メッセージ終了後にはctrl+cで抜ける。
[sunarin@localhost ~]$ tty #自分の端末を確認
/dev/pts/0
[sunarin@localhost ~]$ who -T #接続している端末を調べる
sunarin + pts/0 2022-08-05 11:13 (192.168.0.26)
sunarin + pts/1 2022-08-05 13:37 (192.168.0.26)
test + pts/2 2022-08-05 13:38 (::1)
[sunarin@localhost ~]$ write test pts/2
hello I sunarin
メッセージ受信側は以下のように表示される。
[test@localhost ~]$
Message from sunarin@localhost.localdomain on pts/0 at 13:41 ...
hello I sunarin