Основы операционной системы UNIX



         

Получение списка зарегистрировавшихся пользователей


Для получения списка пользователей, работающих сейчас в системе, используется команда 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 и комментарий. В поле состояния выдается один из следующих символов:




Содержание  Назад  Вперед