From e5abc1fe99340b979b18864d978179f71fe8f5c5 Mon Sep 17 00:00:00 2001 From: vlapa Date: Sat, 13 Jun 2026 20:33:26 +0300 Subject: First --- LINUX/HOME_SERVER/watch.md | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 LINUX/HOME_SERVER/watch.md (limited to 'LINUX/HOME_SERVER/watch.md') diff --git a/LINUX/HOME_SERVER/watch.md b/LINUX/HOME_SERVER/watch.md new file mode 100644 index 0000000..8c9409a --- /dev/null +++ b/LINUX/HOME_SERVER/watch.md @@ -0,0 +1,48 @@ +Команда watch: живой взгляд на процессы и метрики + +watch - утилита, которая повторно запускает любую команду через заданный интервал (по‑умолчанию 2 сек) и отображает её вывод полноэкранно. Подходит, когда: + +1) нужно увидеть изменение метрики прямо сейчас; +2) нет времени поднимать полноценный мониторинг; +3) требуется «подкараулить» событие и выйти, как только оно случится; +4) работает везде: на Debian, BusyBox в Alpine, внутри Docker‑контейнера; + +Базовый синтаксис + + +watch [-n <сек>] [-d] [-g] [-t] [-p] [-e] [-x] <команда> + +Ключевые опции + +"-n 5” — устанавливает интервал в 5 с. Хорош для медленных команд и экономии CPU; +-d — подсвечивает изменения относительно предыдущего вывода. Удобно отслеживать «скачки»; +-g — автоматически выходит, как только вывод изменится; полезно, когда ждёте окончания бэкапа; +-e — завершает работу при ненулевом exit‑коде команды. Превращает watch в health‑check; +-t — убирает заголовок watch. Идеален для чистых скриншотов; +-p — синхронизирует запуск с системными секундами. Это важно при очень частых опросах, например "-n 0.2"; +-x — запускает команду без обёртки в shell. Это помогает, если команда содержит символы вроде $ или *, которые интерпретируются bash'ем; + +Практические примеры + +Топ прожорливых процессов + + +watch -n 1 -d 'ps -eo pid,cmd,%cpu --sort=-%cpu | head' + +Ждём появления строки ERROR в логе и выходим + + +watch -g "grep -q ERROR /var/log/app.log" +echo 'Нашли ERROR!' + +Мини‑график latency + + +watch -n 0.2 -p 'ping -c1 1.1.1.1 | awk -F"=" "/time=/{print $4}"' + +Лайфхаки + +"-d" подсвечивает изменения — удобно, когда хочешь быстро понять, что именно изменилось. Добавь "--differences=permanent", чтобы подсветка не исчезала между обновлениями. +"-t" убирает заголовок watch — идеально для чистых логов или скриншотов. +"-p" даёт ровный ритм (1 Hz и выше), полезно для прецизионного мониторинга. +"-g" или "-e" + немного shell'а — и у тебя мини-скрипт, который реагирует на событие. \ No newline at end of file -- cgit v1.2.3