
Команда из заголовка отображает всех подключенных пользователей для моего терминального сервера. Есть ли эквивалентная команда linux для отображения той же информации?
решение1
Простая who
команда, вероятно, даст вам хороший список.
Есть еще w
команда.
решение2
w
Для большего контекста о пользователях простая w
команда предоставляет список тех, кто вошел в систему и что они делают. Эта информация отображается в формате, похожем на вывод who
, но время бездействия пользователя, время ЦП, используемое всеми процессами, подключенными к TTY входа, и время ЦП, используемое только текущим процессом. Текущий процесс пользователя указан в последнем поле.
Пример вывода:
$ w
13:45:48 up 29 days, 19:24, 2 users, load average: 0.53, 0.52, 0.54
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
seth tty2 Sun18 43:22m 0.01s 0.01s /usr/libexec/gnome-session-binary
curly pts/2 13:02 35:12 0.03s 0.03s -bash
Кроме того, вы можете просмотреть IP-адрес пользователя с помощью опции -i
или --ip-addr
.
Вы можете сузить вывод до одного имени пользователя, указав, о каком пользователе вы хотите получить информацию:
$ w seth
13:45:48 up 29 days, 19:27, 2 users, load average: 0.53, 0.52, 0.54
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
seth tty2 Sun18 43:25m 0.01s 0.01s /usr/libexec/gnome-session-binary
пс
Узнав, кто вошел в вашу систему, вы можете использовать ее ps
для получения моментального снимка текущих процессов.
Вы можете получить все процессы, запущенные одним пользователем, с помощью опции --user
(или -u
), а также имя пользователя, по которому вы хотите получить отчет. Чтобы предоставить выходным данным дополнительный контекст того, какой процесс является родительским для дочернего процесса, используйте опцию --forest
для «древовидного» представления:
$ ps --forst --user larry
PID TTY TIME CMD
39707 ? 00:00:00 sshd
39713 pts/4 00:00:00 \_ bash
39684 ? 00:00:00 systemd
39691 ? 00:00:00 \_ (sd-pam)