WATCH(1)

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

КОРОТКИЙ ОПИС
watch [параметри] команда

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

ПАРАМЕТРИ

-d, --differences [permanent]
    Позначити відмінності між двома послідовними запусками. До параметра можна додати необов’язковий аргумент, який змінює позначення на постійне, таке, що допомагає бачити те, що змінилося принаймні один раз із часу першого запуску.

-n, --interval число
    Визначити інтервал між запусками. Найменшим є інтервал у 0,1 секунди. Якщо ви вкажете менше значення, використовуватиметься інтервал у 0,1 секунди.

-p, --precise
    Наказати watch запускати command кожні інтервал секунд. Спробуйте з ntptime і зауважте, що дробові частки секунд залишаються (майже) незмінними, на відміну від звичайного режиму, коли значення неперервно зростають.

-t, --no-title
    Вимкнути показ заголовка із даними щодо інтервалу, команди та поточного часу та наступного порожнього рядка у верхній частині екрана.

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

-e, --errexit
    Призупинити оновлення, якщо буде виявлено помилку, і завершити роботу після натискання будь-якої клавіші.

-g, --chgexit
    Вийти, якщо змінилися дані, виведені командою команда.

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

-x, --exec
    команда передається до sh -c. Це означає, що для отримання бажаних результатів вам, ймовірно, слід додати відповідні лапки. З параметром --exec подібних заходів вживати не треба, оскільки команду буде передано exec(2).

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

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

ЗАУВАЖЕННЯ
Зауважте, що використовується спосіб обробки параметрів POSIX (тобто обробка параметрів завершується на першому з аргументів, який не є параметром). Це означає, що параметри після команди не оброблятимуться самою програмою watch.

ПРИКЛАДИ

Для спостереження за надходженням пошти можна скористатися такою командою:

    watch -n 60 from

Для спостереження за змінами у вмісті каталогу можна скористатися такою командою:

    watch -d ls -l

Якщо вас цікавлять лише файли, власником яких є користувач joe, ви можете скористатися такою командою:

    watch -d 'ls -l | fgrep joe'

Щоб побачити результат використання лапок, спробуйте таку команду:

    watch echo $$
    watch echo '$$'
    watch echo "'"'$$'"'"

Щоб побачити результат точного врахування часу, спробуйте додати параметр -p до такої команди:

    watch -n 10 sleep 1

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

    watch uname -r

(Зауважте, що роботу з -p під час перезавантаження не гарантовано, особливо з врахуванням використання ntpdate та інших механізмів зміни часових даних.)

ВАДИ
Після зміни розмірів вікна термінала, дані не буде належним чином переформатовано до наступного запланованого оновлення. Також буде втрачено усі позначення, отримані за допомогою параметра --differences.

Непридатні до виведення символи буде усунуто із даних, виведених програмою. Якщо ви хочете побачити ці символи, скористайтеся «cat -v» у послідовності команд, створеній за допомогою символу каналу (|).

Символи поєднання, які мало бути показано на позиції у останньому стовпчику на екрані, може бути показано на стовпчик раніше або взагалі не показано.

Символи поєднання ніколи не враховуються під час визначення відмінностей, якщо використано параметр --differences. До уваги беруться лише основні символи.

Порожні рядки, розташовані безпосередньо після рядка, що завершує останній стовпчик, не буде показано.

У режимі --precise ще не передбачено технології розширеного викривлення часу для компенсації проблем із командою, виконання якої триває понад інтервал секунд. Крім того, watch може перейти у режим, коли програма швидко намагається запустити якомога більше екземплярів команди для того, щоб «наздогнати» план за попередніми запусками, виконання яких тривало понад інтервал секунд (наприклад, виконання команди netstat під час пошуку у DNS може тривати дуже довго).

СТАН ВИХОДУ

    0   Успіх.
    1   Різноманітні помилки.
    2   Відгалуження процесу для спостереження зазнало невдачі.
    3   Не вдалося замінити стандартне виведення дочірнього процесу на канал стороннього запису.
    4   Помилка під час виконання команди.
    5   Відгалуження процесу для спостереження зазнало невдачі.
    7   Спроба створення каналу IPC зазнала невдачі.
    8   Спроба отримання значення виходу дочірнього процесу за допомогою waitpid(2) зазнала невдачі або команда завершила роботу повідомлення про помилку.
    інший
        watch передасть стан виходу команди як стан виходу дочірнього процесу.

АВТОРИ
Початкову версію watch було створено Tony Rems (rembo@unisoft.com) у 1991 році. Модифікації та виправлення цієї версії було зроблено Francois Pinard. Програму було перероблено з додаванням нових можливостей Mike Coleman (mkc@acm.org) у 1999 році. Обробку параметрів beep, exec та помилок було додано Morty Abzug (morty@frakir.org) у 2008 році. Не дуже темної ночі та буремного ранку у березні 2003 року Anthony DeRobertis (asd@suespammers.org) , якого бісило те, що його годинники, значення на яких мало оновлюватися щохвилини, оновлювали значення за багато секунд після початку хвилини, додав рівень точності у мікросекунди. Підтримку Unicode було реалізовано у 2009 році Jarrod Lowe (procps@rrod.net)