Уважаемые подписчики! Я вернулся из отпуска и снова приступил к
ведению рассылки. Извините, что выпуск выходит несколько позже обещанного.
Сегодняшний выпуск посвящен команде who(1), обычно выдающей
информацию о зарегистрированных пользователях. Перевод завершен сегодня,
3 сентября, по справочному руководству Solaris 8.
/usr/bin/who [ -abdHlmpqrstTu ] [ файл ]
/usr/bin/who -q [ -n x ] [ файл ]
/usr/bin/who am i
/usr/bin/who am I
/usr/xpg4/bin/who [ -abdHlmpqrtTu ] [ файл ]
/usr/xpg4/bin/who -q [ -n x ] [ файл ]
/usr/xpg4/bin/who -s [ -bdHlmpqrtu ] [ файл ]
/usr/xpg4/bin/who am i
/usr/xpg4/bin/who am I
ОПИСАНИЕ
Утилита who может выдать имя пользователя, терминальную линию, время
регистрации, время, прошедшее с момента последнего обращения с соответствующего
терминала и идентификатор процесса командного интерпретатора для каждого пользователя,
работающего в настоящий момент в системе UNIX. Для получения этой информации она
обращается к файлу /var/adm/utmp. Если указан параметр файл,
проверяется именно этот файл (который должен быть в формате
utmp(4)). Обычно в качестве файла задается
файл /var/adm/wtmp, содержащий хронологию всех регистраций в системе с момента
своего создания.
Общий формат выдаваемого результата следующий:
имя [состояние] терминалвремя [ожидание] [pid] [комментарий] [статус_выхода]
где:
имя
регистрационное имя пользователя.
состояние
возможность записи на терминал.
терминал
имя терминала как устройства в каталоге /dev.
время
время, прошедшее с момента регистрации пользователя.
ожидание
время, прошедшее с момента выполнения пользователем последнего действия.
pid
идентификатор процесса начального командного интерпретатора пользователя.
Выдает все процессы, устаревшие и не перезапущенные процессом init. Поле статуса
выхода выдается для "мертвых" процессов и содержит значения их статусов выхода
или прекращения (возвращаемые wait(3UCB)). Это
может помочь определить причину прекращения работы процесса.
Выдает только те терминальные линии, с которых система ожидает регистрации
пользователей. В таких случаях в поле имени выдается значение LOGIN.
Другие поля имеют те же значения, что и для записей о зарегистрированных пользователях,
но поле состояния не выдается.
Принимает чиловой аргумент, x, которое задает количество
выдаваемых в одной строке пользователей. x должно быть не менее 1.
Опция -n может использоваться только совместно с опцией
-q.
Выдает все остальные активные процессы, запущенные ранее процессом init. В поле
имя указывается имя программы, выполненной процессом init, указанное
в файле /sbin/inittab. Поля состояние, терминал и
ожидание в этом случае не имеют значения. В поле комментарий
в этом случае выдается идентификатор записи из файла /sbin/inittab, которая
использовалась для порождения этого процесса. См. inittab(4).
(quick who) Выдает только имена и общее количество зарегистрированных сейчас
пользователей. При использовании этой опции все остальные опции игнорируются.
То же, что и опция -s, но выдаются также поля
состояние, ожидание, pid и комментарий. В поле
состояние выдается один из следующих символов:
+
Терминал разрешает запись другим пользователям.
-
Терминал не разрешает запись другим пользователям.
?
Возможность записи на терминал не может быть определена.
/usr/xpg4/bin/who
-T
То же, что и опция -s, но выдается поле состояние.
В поле состояние выдается один из символов, перечисленных в
описании этой опции для версии /usr/bin/who. Если
вместе с -T используется опция -u, в конце
строки добавляется столбец времени ожидания.
Выдает информацию только о зарегистрированных сейчас пользователях. В поле имя
выдается регистрационное имя пользователя. В поле терминал, - имя специального
файла терминала из каталога /dev. В поле время выдается время, когда
пользователь зарегистрировался. В поле ожидание указано, сколько часов и минут
назад было выполнено последнее действие с этого терминала. Точка (.) показывает,
что терминал был активен за последнюю минуту, и поэтому является "текущим". Если
терминал не использовался более 24 часов или с момента загрузки, в этом поле
выдается значение old. Поле ожидания позволяет определить, работат ли кто-то
за теминалом или нет. Поле pid - идентификатор процесса начального командного
интерпретатора пользователя. В полне комментарий выдается комментарий
для соответствующей терминалу строки в файле /sbin/inittab
(см. inittab(4)). Он может содержать информацию
о метонахождении терминала, номер телефона владельца, тип терминала и т.п.
ОПЕРАНДЫ
Поддерживаются следующие операнды:
am i am I
В локали "C" ограничивает результат, выдавая информацию только о
вызывающем пользователе, аналогично опции -m. Слова am
и i или I должны быть отдельными аргументами.
файл
Задает полное имя файла, используемого вместо стандартного в качестве базы
данных зарегистрированных пользователей.
ПЕРЕМЕННЫЕ СРЕДЫ
Описание следующих переменных среды:
LC_CTYPE, LC_MESSAGES, LC_TIME и NLSPATH,
влияющих на работу команды who,
см. на странице справочного руководства environ(5).
СТАТУС ВЫХОДА
Команда завершается со следующими статусами выхода:
0
Успешное выполнение.
>0
Произошла ошибка.
ФАЙЛЫ
/sbin/inittab
сценарий для процесса init
/var/adm/utmp
информация о текущих пользователях и времени их работы
/var/adm/wtmp
историческая информация о пользователях и времени их работы
АТРИБУТЫ
Описание следующих атрибутов см. на странице справочного руководства
attributes(5):
Суперпользователь: после перевода системы в однопользовательский режим
команда who ничего не выдает; поскольку файл /var/adm/utmp изменяется
при регистрации, а регистрация в однопользовательском режиме не выполняется,
команда who не может точно проинформировать об этом состоянии. Команда
who am i, однако, выдает правильную информацию.