Raspbian GNU / Linux 9(stretch)を実行しているRaspberry Pi 2で作業しました。
top
コマンドを実行すると、コマンドに表示されない一部のユーザーが表示される理由を理解したいと思いますwho
。以下はRPiで実行されたコマンドの出力です。
$ top
top - 12:36:42 up 2 days, 15:19, 2 users, load average: 0.29, 0.34, 0.27
Tasks: 138 total, 1 running, 73 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 0.9 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 949460 total, 354296 free, 62916 used, 532248 buff/cache
KiB Swap: 102396 total, 30972 free, 71424 used. 811488 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10907 iceman 20 0 6144 3400 1924 S 2.3 0.4 4:05.37 rsync
10876 maverick 20 0 8128 3300 2740 R 1.6 0.3 0:36.49 top
376 root 20 0 911240 9648 3164 S 0.7 1.0 31:58.38 dockerd
663 root 20 0 149932 1728 1020 S 0.7 0.2 28:25.48 Xorg
674 root 20 0 884620 3848 1764 S 0.7 0.4 22:06.18 docker-co
$ who
maverick pts/0 2018-11-28 11:23 (73.69.181.86)
maverick pts/1 2018-11-28 11:58 (73.69.181.86)
明確にするために、次のことを試しました。who
、、、、。who -u
who -l
who -p
who -a
答え1
man who
「manページ」(例:run)を見ると、システムのコマンドラインツールとそのパラメータに関する追加情報を見つけることができます。
該当するマニュアルページから:
top
- Linuxプロセスの表示
who
- 誰がログインしたかを表示
その間、以下もあります。
w
- 誰がログインしたのか、何をしているのかを示します。
ユーザーが「ログイン」を実行すると、「ログイン」されます。つまり、ユーザーがシステムに認証するためのパスワードまたはキーを提供し、システムがそのユーザーのための「セッション」を開始しました。
ご覧のとおり、who
これらのログインセッションのみが一覧表示されます。通常、セッションが関連付けられているすべての項目とともに一覧表示されます。
- Xserverセッション(例:
:0
最初のグラフィックセッション) - 端末(
tty
例:Ctrl++ Alt)F2、 - または疑似端末(
pts
例:SSHセッション、端末エミュレータ、または端末マルチプレクサプログラムの場合)
次のように、ログインセッションを含まないプロセスを開始する別の方法があります。
- システムサービス(によって開始されるか、
init
システムsystemd
がサービスを開始するために使用するすべてのサービス) - ttyデバイスへのSSHセッションは要求されません - これは、
ssh example.com rsync …
対話型シェル()を要求するのではなく、SSH呼び出し()の直後にコマンドを実行するssh example.com
と通常発生します。 - ログインセッションでプロセスを開始し、現在のシェルからプロセスを分離してセッションから分離します(たとえば、次を
disown
使用)。
しかし、システムにどのユーザーがいるかを知りたい場合(ローカルで構成されたユーザーや/etc/passwd
LDAPなどの外部データベースのユーザー):
getent passwd
最後にログインした時間を知りたい場合は、次の操作を行います。
lastlog