WATCH(1) General Commands Manual WATCH(1)

# НАЗВА

watch — програма для періодичного виконання інших програм з виведенням даних на весь екран

# КОРОТКИЙ ОПИС

**watch** \[*параметр* ...] *команда*

# ОПИС

**watch** виконує *команду* регулярно, показує виведені нею дані та повідомлення щодо помилок (перший екран). За **watch** ви зможете спостерігати за змінами у виведених даних із часом. Типово, запуск програми *команда* відбуватиметься кожні 2 секунди, аж доки роботу **watch** не буде перервано. У заголовку буде розміщено відомості щодо часу запуску і часу роботи *команди*, а також її код виходу.

# ПАРАМЕТРИ

[**-b**, **--beep**](#b)

Гудок, якщо виконання *команди* завершується ненульовим станом.

[**-c**, **--color**](#c)

Обробляти послідовності символів ANSI для кольорів і стилю.

[**-C**, **--no-color**](#C)

Не обробляти послідовності символів ANSI для кольорів і стилю.

[**-d**, **--differences**\[=*permanent*\]](#d)

Позначити відмінності між двома послідовними запусками. Якщо задано необов'язковий аргумент *permanent*, **watch** покаже усі зміни із часу першого запуску. Аргумент *permanent* має бути пов'язано із параметром, як у **-d1** або **--differences=1**.

[**-e**, **--errexit**](#e)

Заморозити оновлення при помилці *команди* і вийти після натискання клавіші. Код виходу **watch** буде кодом, з яким завершила роботу *команда*. Якщо причиною переривання роботи *команди* є сигнал **n**, кодом виходу буде 128 + **n**.

[**-f**, **--follow**](#f)

Замість очищення екрана під час кожного оновлення, **watch** гортатиме виведені дані, подібно до того, як працює *tail -f*. Цей параметр несумісний з жодним параметром відстеження виведення на екран, таким як параметри **--differences**, **--chgexit** та **--eqexit**.

[**-g**, **--chgexit**](#g)

Вийти, якщо видимі виведені дані *команди* змінюються. Зміни, які виходять за межі екрана через малий розмір екрана, або великі виведені дані не спричинять вихід з **watch**.

[**-n**, **--interval** *число*](#n)

Визначити інтервал між запусками. Значення, які є меншими за 0.1 і більшими за 2678400 (31 день) буде перетворено у відповідні обмежувальні значення. У всіх локалях працюють і «.» і «,». Для постійного визначення нетипового інтервалу можна скористатися змінною середовища **WATCH\_INTERVAL** (для неї використовуються ті самі правила і форматування).

[**-p**, **--precise**](#p)

Виконати *команду* за **--interval** секунд після того, як стався попередній запуск, замість запуску за **--interval** секунд після завершення її попереднього виконання. Якщо для завершення роботи *команди* потрібно більше **--interval** секунд, програма чекатиме на її завершення.

[**-q**, **--equexit** &lt;цикли&gt;](#q)

Вийти, коли виведення *команди* не змінюється вказану кількість циклів.

[**-r**, **--no-rerun**](#r)

Не перезапускати програму при зміні розмірів вікна термінала. Виведені програмою дані знову з'являться на екрані при наступному регулярному запуску.

[**-s**, **--shotsdir**](#s)

Каталог для збереження знімків вікон.

[**-t**, **--no-title**](#t)

Вимкнути заголовок, який зазвичай буде показано у верхній частині екрана.

[**-w**, **--no-wrap**](#w)

Вимкнути перенесення рядків. Довгі рядки буде обрізано, замість перенесення на наступний.

[**-x**, **--exec**](#x)

Передати *команду* виклику [**exec**(3)](/man/os/procps/exec.3), замість **sh -c**. Програму буде запущено дещо швидше. Можливості командної оболонки (налаштувань середовище, розгортання змінних і шляхів тощо) будуть недоступні.

[**-h**, **--help**](#h)

Вивести текст довідки і завершити роботу.

[**-v**, **--version**](#v)

Вивести дані щодо версії і завершити роботу.

# КЕРУВАННЯ З КЛАВІАТУРИ

[**spacebar**](#spacebar)

Видати *команду* негайно. Якщо команда вже виконується, її не буде перервано,а її наступний запуск буде розпочато без затримки.

[**q**](#q~2)

Вийти з **watch**. У поточній версії виконання *команди* перервано не буде (на відміну від сигналів переривання, зокрема SIGKILL у відповідь на Ctrl+C).

[**s**](#s~2)

Зробити знімок екрана. Його буде збережено у робочому каталозі, якщо не вказано іншого каталогу за допомогою **--shotsdir**. Якщо відбувається виконання *команди*, знімок буде створено, щойно виконання команди буде завершено.

# СТАН ВИХОДУ

**0**

Успіх. Не відповідає коду виходу *команди*.

**1**

Помилки, які не пов'язано із виконанням *команди*.

**2**

Помилки, які пов'язано з виконанням *команди* і керування ним (не код виходу).

**будь-який ненульовий (--errexit)**

З **--errexit** буде повернуто останній код виходу *команди*.

# СЕРЕДОВИЩЕ

На поведінку **grep** впливають наступні змінні середовища.

[**WATCH\_INTERVAL**](#WATCH_INTERVAL)

Інтервал оновлення, використовує ті самі правила, що і параметр командного рядка **--interval**.

[**COLUMNS**](#COLUMNS)

Ширина екрана термінала у символах. Встановіть, щоб перевизначити автоматично встановлене значення.

[**LINES**](#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" &&gt;/dev/null || R=FAIL; echo "$i: $R"; done } | tee -a ~/log'

Стежити за діями зі встановлення найновіших версій ядра адміністратора вашого комп’ютера можна за допомогою такої команди:

watch uname -r

# ВАДИ

При зміні розмірностей термінала, його зміни вмісту не буде зареєстровано при наступному запуску *команди*. **--chgexit** не запустить цей цикл і лічильник **--equexit** не буде перезапущено, навіть якщо тим часом зміняться виведені *командою* даних. Підсвічування **--differences** буде скинуто.

# Як надіслати звіт про вади

Про вади, будь ласка, повідомляйте на адресу [procps@freelists.org](mailto:procps@freelists.org).

16 квітня 2025 року procps-ng

---

Document: watch(1) from procps 4.0.7-r2 (Chainguard OS)
Source: https://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-4.0.7.tar.xz
