Как периодически запускать программу с помощью команды Watch в Linux
Иногда вам необходимо постоянно запускать команду или программу для мониторинга различных аспектов вашей системы, таких как текущие процессы, использование дискового пространства или информация для входа в систему пользователя. Команда watch в Linux позволяет автоматизировать эти задачи без необходимости запускать их вручную снова и снова.
Используя команду watch, вы можете отслеживать системные действия в режиме реального времени, такие как информация для входа в систему пользователя, состояние сети, использование памяти и процессора, дисковое пространство и т. д. Узнайте, как использовать команду watch в Linux.
Что такое команда просмотра?
Команда watch Linux запускает указанную команду или программу несколько раз, через равные промежутки времени, и отображает выходные данные этой команды в Терминале. Это позволяет вам наблюдать за изменениями производительности в режиме реального времени. Он обновляет вывод через каждый интервал, перезаписывая предыдущий вывод команды. По умолчанию команда повторяется каждые две секунды и продолжается до тех пор, пока вы не остановите ее вручную с помощью Ctrl + C.
Следите за синтаксисом команды
Синтаксис команды просмотра:
варианты просмотра
Существует множество различных параметров командной строки, которые можно использовать с командой watch. Если вы запустите команду просмотра без каких-либо параметров, она будет запускать указанную команду каждые две секунды. Например, ниже показан вывод команды ls:
смотреть ls -l ~/
Вывод покажет вам изменения в списке каталогов, если файл создан, удален или изменен размер, и вывод будет обновляться каждые две секунды.
Запускать команду каждые X секунд, используя часы
Вы можете изменить интервал обновления команды просмотра. Это означает, что вы можете указать команде просмотра подождать x секунд, прежде чем повторять команду. Чтобы изменить интервал обновления, используйте параметр -n, за которым следует интервал в секундах.
смотреть -н
Например, чтобы запускать команду каждые 5 секунд, выполните:
смотреть -n 5
Выделение изменений между обновлениями
Команда watch перезаписывает свои выходные данные при каждом обновлении. Используя опцию -d, вы также можете выделить изменения между предыдущим выводом и обновленным выводом.
смотреть -d
Скрыть заголовки в выводе команды просмотра
По умолчанию команда просмотра отображает заголовок в верхней части каждого вывода, содержащий интервал обновления, имя команды, а также текущую системную дату и время. Вы можете удалить заголовки из вывода с помощью опции -t:
смотреть -т
Звуковой сигнал при возникновении ошибки
Когда процесс Linux завершает работу, он возвращает код выхода. По соглашению, значение равно 0 для успеха и ненулю для обозначения ошибки. Опция -b команды watch подаст звуковой сигнал, если команда вернет ненулевой результат выхода.
Предположим, вы хотите отслеживать sshd.service и получать уведомления при остановке службы; вы будете использовать:
смотреть -b sudo systemctl статус sshd.service
Эта команда подаст звуковой сигнал, когда служба остановится. Звуковой сигнал прекратится, когда обслуживание возобновится. Чтобы проверить это, откройте другое окно терминала и остановите службу. Звук будет звучать непрерывно, пока вы не запустите службу снова. Однако, чтобы использовать эту функцию, вы должны установить пакет beep в своей системе.
Выйдите из команды просмотра при изменении вывода
Вы также можете указать команде просмотра прекратить выполнение и выйти, когда выходные данные команды изменятся. Вы можете сделать это, используя опцию -g. Эта опция полезна в ситуациях, когда вы ожидаете определенных изменений в выходных данных.
Когда выходные данные изменятся, команда наблюдения остановится. Вы можете комбинировать это использование с командой echo для отображения сообщения на экране.
Например, рассмотрим ситуацию, когда вы ожидаете прибытия файла в ваш каталог. Следующая команда будет отслеживать каталог для указанного файла. Как только он прибудет, команда просмотра прекратит выполнение, и сообщение о прибытии файла отобразится на терминале.
watch -g “ls -l | grep имя_файла” && echo “файл прибыл”
Еще один полезный пример — уведомление, когда определенный пользователь входит в вашу систему:
watch -g “кто | grep имя пользователя” && echo “имя пользователя вошло в систему”
Эта команда будет отслеживать вывод команды who со списком вошедших в систему пользователей. После того, как пользователь войдет в систему, команда просмотра остановится и отобразит уведомление на Терминале.
Аналогичным образом вы можете указать команде watch остановить службу при внесении некоторых изменений в файл. Помните, что при использовании командной строки в пути вам необходимо заключить всю команду в кавычки.
В приведенной выше статье вы познакомились с «Как периодически запускать программу с помощью команды Watch в Linux». СоветыНадейтесь, что эта статья вам поможет! Если эта статья кажется вам интересной и полезной, не забудьте поделиться ею. Спасибо!