Есть ли монитор, как top
но для команды w
(who
)? Это нормально, если это пакет, который нужно установить. Любой вкус Linux. Я хотел бы иметь простой CLI-монитор пользователей в реальном времени, вошедших в систему вместе с тем, что они делают. ТИА
2 ответа
У вас есть несколько возможностей. Все, что сразу приходит мне в голову, основаны на идее периодически выполнять команду w
(следовательно, строго говоря, они не являются мониторами реального времени, но top также периодически обновляет текущие процессы):
На основе оболочки (синтаксис bash)
Бесконечный цикл, который выполняет
w
каждую секунду:while true; do clear w sleep 1 done
Для этого есть специальная программа, которая называется
watch
:watch -n 1 "w"
Хотя возможности 1 и 2 обычно работают " из коробки" в стандартной системе GNU/Linux, существует также программа под названием
multitail
. Хотя в первую очередь предназначен для другой цели,Программа MultiTail позволяет просматривать один или несколько файлов, как в оригинальной программе tail. Разница в том, что он создает несколько окон на вашей консоли (с ncurses). Он также может отслеживать подстановочные знаки: если другой файл, соответствующий подстановочному знаку, имеет более позднюю дату изменения, он автоматически переключится на этот файл.
он также может периодически запускать программу:
multitail -r 1 -l "w"
Оба, watch
и multitail
также могут выделить различия по сравнению с предыдущим запуском, пожалуйста, проверьте man-страницы для соответствующих (и многих других) опций.
Последняя команда действует следующим образом:/var/log/wtmp. Вы можете настроить часы с помощью inotifywait(часть пакета * inotify-tools) следующим образом:
while inotifywait -e close_write /var/log/wtmp ; do /path/to/executable/script; done
где / путь / к / исполняемому файлу / скрипту - это некоторый скрипт (исполняемый скриптом chmod 755), который будет выполнять некоторые заметные действия, чтобы привлечь ваше внимание, см. здесь некоторые советы.