WATCH(1) | General Commands Manual | WATCH(1) |
НАЗВА¶
watch — програма для періодичного виконання інших програм з виведенням даних на весь екран
КОРОТКИЙ ОПИС¶
watch [параметр ...] команда
ОПИС¶
watch виконує команду регулярно, показує виведені нею дані та повідомлення щодо помилок (перший екран). За watch ви зможете спостерігати за змінами у виведених даних із часом. Типово, запуск програми команда відбуватиметься кожні 2 секунди, аж доки роботу watch не буде перервано. У заголовку буде розміщено відомості щодо часу запуску і часу роботи команди, а також її код виходу.
ПАРАМЕТРИ¶
- -b, --beep
- Гудок, якщо виконання команди завершується ненульовим станом.
- -c, --color
- Обробляти послідовності символів ANSI для кольорів і стилю.
- -C, --no-color
- Не обробляти послідовності символів ANSI для кольорів і стилю.
- -d, --differences[=permanent]
- Позначити відмінності між двома послідовними запусками. Якщо задано необов'язковий аргумент permanent, watch покаже усі зміни із часу першого запуску.
- -e, --errexit
- Заморозити оновлення при помилці команди і вийти після натискання клавіші. Код виходу watch буде кодом, з яким завершила роботу команда. Якщо причиною переривання роботи команди є сигнал n, кодом виходу буде 128 + n.
- -g, --chgexit
- Вийти, якщо видимі виведені дані команди змінюються. Зміни, які виходять за межі екрана через малий розмір екрана, або великі виведені дані не спричинять вихід з watch.
- -n, --interval число
- Визначити інтервал між запусками. Значення, які є меншими за 0.1 і більшими за 2678400 (31 день) буде перетворено у відповідні обмежувальні значення. У всіх локалях працюють і «.» і «,». Для постійного визначення нетипового інтервалу можна скористатися змінною середовища WATCH_INTERVAL (для неї використовуються ті самі правила і форматування).
- -p, --precise
- Виконати команду за --interval секунд після того, як стався попередній запуск, замість запуску за --interval секунд після завершення її попереднього виконання. Якщо для завершення роботи команди потрібно більше --interval секунд, програма чекатиме на її завершення.
- -q, --equexit <цикли>
- Вийти, коли виведення команди не змінюється вказану кількість циклів.
- -r, --no-rerun
- Не перезапускати програму при зміні розмірів вікна термінала. Виведені програмою дані знову з'являться на екрані при наступному регулярному запуску.
- -s, --shotsdir
- Каталог для збереження знімків вікон.
- -t, --no-title
- Вимкнути заголовок, який зазвичай буде показано у верхній частині екрана.
- -w, --no-wrap
- Вимкнути перенесення рядків. Довгі рядки буде обрізано, замість перенесення на наступний.
- -x, --exec
- Передати команду виклику exec(3), замість sh -c. Програму буде запущено дещо швидше. Можливості командної оболонки (налаштувань середовище, розгортання змінних і шляхів тощо) будуть недоступні.
- -h, --help
- Вивести текст довідки і завершити роботу.
- -v, --version
- Вивести дані щодо версії і завершити роботу.
КЕРУВАННЯ З КЛАВІАТУРИ¶
- spacebar
- Видати команду негайно. Якщо команда вже виконується, її не буде перервано,а її наступний запуск буде розпочато без затримки.
- q
- Вийти з watch. У поточній версії виконання команди перервано не буде (на відміну від сигналів переривання, зокрема SIGKILL у відповідь на Ctrl+C).
- s
- Зробити знімок екрана. Його буде збережено у робочому каталозі, якщо не вказано іншого каталогу за допомогою --shotsdir. Якщо відбувається виконання команди, знімок буде створено, щойно виконання команди буде завершено.
СТАН ВИХОДУ¶
- 0
- Успіх. Не відповідає коду виходу команди.
- 1
- Помилки, які не пов'язано із виконанням команди.
- 2
- Помилки, які пов'язано з виконанням команди і керування ним (не код виходу).
- будь-який ненульовий (--errexit)
- З --errexit буде повернуто останній код виходу команди.
СЕРЕДОВИЩЕ¶
На поведінку grep впливають наступні змінні середовища.
- WATCH_INTERVAL
- Інтервал оновлення, використовує ті самі правила, що і параметр командного рядка --interval.
- COLUMNS
- Ширина екрана термінала у символах. Встановіть, щоб перевизначити автоматично встановлене значення.
- LINES
- Висота екрана термінала у символах. Встановіть, щоб перевизначити автоматично встановлене значення.
ЗАУВАЖЕННЯ¶
Спосіб обробки параметрів POSIX (тобто обробка параметрів завершується на першому з аргументів, який не є параметром). Це означає, що параметри після команди не оброблятимуться самою програмою watch.
Непридатні до виведення символи буде усунуто із даних, виведених програмою. Якщо ви хочете побачити ці символи, скористайтеся cat -v у послідовності команд, створеній за допомогою символу каналу (|).
ПРИКЛАДИ¶
Для спостереження за змінами у вмісті каталогу можна скористатися такою командою:
- watch -d ls -l
Якщо у вас є процесори із динамічною частотою, і ви хочете спостерігати за її зміною, спробуйте таке. Команду буде передано командній оболонці, яка надасть вам змогу створити канал виконання. Лапки є також особливістю виконання у командній оболонці.
- watch -n1 'grep "^cpu MHz" /proc/cpuinfo | sort -nrk4'
Щоб спостерігати за працездатністю ваших серверів, зберігаючи копію виведених даних кожного запуску до файла, ви можете скористатися цим. -p призводить до виконання команди кожні 10 секунд, незалежно від того, наскільки довго триватиме попереднє виконання.
- watch -n10 -p -d '{ date; for i in 10.0.0.31 10.0.0.32 10.0.0.33; do R=OK; ping -c2 -W2 "$i" &>/dev/null || R=FAIL; echo "$i: $R"; done } | tee -a ~/log'
Стежити за діями зі встановлення найновіших версій ядра адміністратора вашого комп’ютера можна за допомогою такої команди:
- watch uname -r
ВАДИ¶
При зміні розмірностей термінала, його зміни вмісту не буде зареєстровано при наступному запуску команди. --chgexit не запустить цей цикл і лічильник --equexit не буде перезапущено, навіть якщо тим часом зміняться виведені командою даних. Підсвічування --differences буде скинуто.
Як надіслати звіт про вади¶
Про вади, будь ласка, повідомляйте на адресу procps@freelists.org.
19 липня 2024 року | procps-ng |