Установка watch в Unix/Linux
Watch — очень мощный инструмент командной строки, который запускает утилиту в интервал времени и отображает результаты на стандартном выводе в полноэкранном режиме, подобно команде top.
Установка watch в Unix/Linux
Во многих Linux дистрибутивах уже установлена данная утилита. По этому, ее устанавливать не нужно. Если не установлен данный пакет, можно поставить его.
Установка watch в Debian/Ubuntu/Mint
Выполняем:
$ sudo apt-get install watch
Установка watch в RHEL/CentOS
Выполняем:
$ sudo yum install watch
Установка watch в Fedora
Выполняем:
$ sudo dnf install watch
Установка watch в openSUSE
Выполняем:
$ sudo zypper install watch
Установка watch в Arch Linux
Выполняем:
$ sudo pacman -S watch
Установка watch в Mac OS X
Подключаем homebrew:
Установка homebrew на Mac OS X
Выполним поиск пакета:
$ brew search watch
Можно его установить:
$ brew install watch
Установка завершена, можно перейти к использованию.
Использование watch в Unix/Linux
Синтаксис данной утилиты, отличается в Unix/Linux дистрибутивах.
Использование watch в Linux
По умолчанию команда watch выводит результаты каждые 2 секунды. Используйте следующий формат для запуска команды watch каждую секунду:
$ watch -n 1 free -m
Используйте опцию «-d» с командой watch, чтобы получить четкую разницу между выводом (она будет выделять предыдущий вывод и текущий:
$ watch -d -n 1 free -m
Можно легко наблюдать за процессом создания или копирования дампа ( как пример):
$ cp may_dump.tar.gz /home/captain &
И проверяем:
$ watch -n 0.1 du -h /home/captain/my_dump.tar.gz
Или:
$ watch -n 0.1 ls -h /home/captain/my_dump.tar.gz
Можно, мониторить (выводить) логи:
$ watch tail /var/log/messages
В системах Linux ps команда может использоваться вместе с командой watch для наблюдения работой служб. Например, чтобы запустить команду ps 5 раз в секунду (Для zabbix процессов) используйте:
# watch -n 0.2 ps -fu zabbix
Посмотреть/Показать только zabbix_proxy и zabbix_agent процессы:
# watch -tn 0.2 'ps -f -C zabbix_proxy -C zabbix_agentd'
Чтобы показать только процессы синхронизации истории (речь идет о заббикс):
# watch -tn 0.2 'ps -fC zabbix_server | grep history'
Команда ps имеет довольно большой вывод информации (приблизительно 190 столбцов) и по этому, можно попробовать отобразить только командные строки без UID, PID, времени старта:
# watch -tn 0.2 'ps -o cmd -C zabbix_server -C zabbix_proxy -C zabbix_agentd'
Использование watch в BSD
Если команда watch не установлена, аналогичный эффект может быть достигнут при:
# while [ 1 ]; do ps x; sleep 0.2; clear; done
Использование watch в AIX, HP-UX
Если команда watch недоступна, можно попробовать использовать:
# while [ 1 ]; do ps -fu zabbix; sleep 1; clear; done
Использование watch в Solaris
Если команда watch не установлена, периодически обновляемый список процессов может быть показан с:
# while [ 1 ]; do /usr/ucb/ps gxww; sleep 1; clear; done
Использование watch в Mac OS X
Можно использовать:
# watch -n 0.2 ps -fu captain
Как-то так!
Можно обойтись без этой утилиты, — заюзать алиас. Например:
# vim ~/.bashrc
Добавляем:
alias myWatch='_() { while :; do clear; $2; sleep $1; done }; _'
Выполняем:
# . ~/.bashrc
а вот, собственно примеры:
$ myWatch 5 "ls -lF $HOME"
Или:
$ myWatch 1 ps uax | grep captain
У меня все, статья «Установка watch в Unix/Linux» завершена.