Working on a Raspberry Pi 2, running Raspbian GNU/Linux 9 (stretch).
I am simply trying to understand why, when I run the top
command I can see some users that I cannot see in the who
command. Here is output of the commands run on the 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)
To clarify, I have tried: who
, who -u
, who -l
, who -p
, who -a
.
Best Answer
You can find additional information about your system's command-line tools and their parameters by looking at their "man page" (by running
man who
, for example).From the respective man pages:
While we're at it, there is also:
A user is "logged on" when they have performed a "login", that is they have provided a password or key to authenticate to the system, and the system has launched a "session" for them.
As you can see,
who
only lists these login sessions — usually together with what the session is attached to, such as:0
for the first graphical session),tty
, e.g. Ctrl+Alt+F2),pts
, e.g. for an SSH session, terminal emulator or terminal multiplexer program)There are other ways to start processes that do not involve a login session, such as
init
,systemd
, or whatever your system uses for service startup)ssh example.com rsync …
) instead of requesting an interactive shell (ssh example.com
)disown
)Tangentially, if you want to know what users exist on the system (both locally configured ones from
/etc/passwd
and any from an external database like LDAP):If you also want to know when they last logged in: