w - кто, что делает в системе

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

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

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

Поддерживает следующие опции:

-d
По каждому управляющему терминалу вывести полный список "привязанных" к нему процессов, а не только текущий процесс.
-h
Подавить вывод заголовка.
-i
Отсортировать вывод по времени простоя.
-M
Извлечь значения из списка имён (namelist) указанного дампа памяти ядра, вместо определённого по умолчанию /dev/kmem.
-N
Извлечь список имён из указанной системы, вместо определённой по умолчанию /boot/kernel/kernel.
-n
Не пытаться преобразовывать сетевые адреса (обычно w интерпретирует адреса и пытается вместо адресов показывать имена).

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

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

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

Процессорное время является приблизительным. В частности, если один пользователь вышел и оставил после себя работающим фоновый процесс, то процессорное время, затраченное этим процессом, засчитывается текущему пользователю этого терминала.

Фоновые процессы не отображаются, несмотря на то, что они существенно влияют на системную нагрузку.

Иногда процессы (обычно фоновые) отображаются с пустыми или неверными аргументами. В таких случаях имя команды берётся в круглые скобки.

Утилита w ничего не знает о новых соглашениях по обнаружению фоновых задач. Иногда вместо правильной она находит фоновую задачу.

Смотри также
finger(1), ps(1), uptime(1), who(1)