Для получения списка пользователей, работающих сейчас в системе, используется команда who со следующим синтаксисом:
/usr/bin/who [ -abdHlmpqrstTu ] [ файл ]
/usr/bin/who -q [ -n x ] [ файл ]
/usr/bin/who am i
Последний вариант выдает строку, соответствующую запрашивающему сеансу, и может использоваться для самоидентификации.
Утилита who выдает имя пользователя, терминал, время регистрации, время, прошедшее после последней выполненной команды, а также идентификатор процесса командного интерпретатора. Для получения этой информации она просматривает файл /var/adm/utmp. Если указан файл (который должен иметь формат utmp(4)), информация берется из него.
В общем случае, результат имеет следующий вид:
имя [состояние] терминал время [ожидание] [pid] [комментарий] [статус выхода]
где:
имя
регистрационное имя пользователя
состояние
возможность записи на терминал
терминал
имя терминала из каталога /dev
время
время регистрации пользователя
ожидание
время, прошедшее после последнего действия пользователя
pid
идентификатор процесса командного интерпретатора
комментарий
строка комментария из файла /etc/inittab
(SVR4)
статус выхода
статус возврата для "мертвых" процессов
Опции команды who представлены в табл. 7.
Таблица 7. Опции команды who
Опция | Назначение |
-a | Обрабатывает /var/adm/utmp или указанный файл с опциями -b, -d, -l, -p, -r, -t, -T и -u. |
-b | Выдает дату и время последней перезагрузки. |
-d | Выдает все процессы, прекращенные и не перезапущенные процессом init. Для "мертвых" процессов будет выдано поле статуса выхода. Это может пригодиться для выяснения причины прекращения процесса. Только для SVR4. |
-H | Выдает заголовки столбцов. |
-l | Выдает только терминалы, на которых система ожидает регистрации пользователей. В качестве имени для них выдается LOGIN. Остальные поля - такие же, как и для пользователей, но поле состояния не выводится. |
-m | Выдает информацию только о текущем терминале. |
-n x | Выдает по x пользователей в строке. Значение x должно быть не менее 1. Опция -n может использоваться только с опцией -q. |
-p | Выдает информацию об активных процессах, запущенных ранее процессом init. В поле имени выдается имя программы, запущенной процессом init в соответствии с файлом /sbin/inittab. Поля состояния, терминала и ожидания в этом случае не имеют смысла. Поле комментария показывает идентфикатор строки из файла /sbin/inittab, запустившей этот процесс. Только для SVR4. |
-q | (quick who) Выдает только имена и количество зарегистрированных пользователей. Если задана эта опция, другие опции игнорируются. |
-r | Показывает текущий уровень выполнения процесса init. Только для SVR4. |
-s | Выдает только поля имени, терминала и времени регистрации. Используется по умолчанию. |
-T | То же, что и опция -s, но также выдаются поля состояния, времени ожидания, pid и комментарий. В поле состояния выдается один из следующих символов: |