w — показать, кто и что делает в системе

W(1)

НАЗВАНИЕ

w — показать, кто и что делает в системе

СИНТАКСИС

w [-dhin] [-M дамп] [-N система] [пользователь …]

ОПИСАНИЕ

Утилита w выводит краткий отчёт о текущей активности в системе, в том числе информацию о том, что делает каждый из присутствующих пользователей. Первая строка показывает текущее время суток, время работы системы с момента начальной загрузки, количество пользователей в системе и среднюю нагрузку на систему. Значения средней нагрузки отражают усреднённое число заданий, находящихся в очереди на выполнение, за последние 1, 5 и 15 минут.

Утилита выводит следующие поля: учётное имя пользователя, имя пользовательского терминала, хост, с которого пользователь вошёл в систему, время входа в систему, время, прошедшее с момента, когда тот в последний раз набирал что-либо на терминале (время простоя), а также имя и аргументы текущего исполняемого им процесса.

Имеются следующие опции:

-d

По каждому управляющему терминалу вывести полный список «привязанных» к нему процессов, а не только текущий процесс.

-h

Подавить вывод заголовка.

-i

Отсортировать вывод по времени простоя.

-M

Извлечь значения из списка имён (namelist) указанного дампа памяти ядра, вместо определённого по умолчанию /dev/kmem.

-N

Извлечь список имён из указанной системы, вместо определённой по умолчанию /boot/kernel/kernel.

-n

Не пытаться преобразовывать сетевые адреса (обычно w интерпрети- рует адреса и пытается вместо адресов показывать имена).

Вывод команды можно ограничить одним или несколькими пользователями, ука- зав их учётные имена в аргументах пользователь.

ФАЙЛЫ

/var/run/utmp список пользователей в системе

СОВМЕСТИМОСТЬ

Флаги -f, -l, -s и -w больше не поддерживаются.

СМОТРИ ТАКЖЕ

finger(1), ps(1), uptime(1), who(1)

ИСТОРИЯ

Команда w появилась в 3.0BSD.

ПРОБЛЕМЫ

Определение «текущего процесса» довольно запутано. В настоящее время текущий процесс вычисляется как: «процесс с наибольшим номером, не игнорирующий прерывания, на данном терминале или, если таких процессов нет, процесс с наибольшим номером на данном терминале.». Этот алгоритм работает неверно, например в критических секциях таких программ, как командная оболочка или редактор, или в случаях, когда некорректно написанные программы, работающие в фоне, разветвляются (fork) и забывают при этом игнорировать прерывания. (В случаях, когда не найден ни один подходящий процесс, w выводит `-‘.) Процессорное время является приблизительным. В частности, если один пользователь вышел и оставил после себя работающим фоновый процесс, то процессорное время, затраченное этим процессом, «засчитывается» текущему пользователю этого терминала. Фоновые процессы не отображаются, несмотря на то, что они существенно влияют на системную нагрузку. Иногда процессы (обычно фоновые) отображаются с пустыми или неверными аргументами. В таких случаях имя команды берётся в круглые скобки. Утилита w ничего не знает о новых соглашениях по обнаружению фоновых задач. Иногда вместо правильной она находит фоновую задачу.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *