Linux - может ли cron запускать сценарий только во время работы указанного приложения?


1

Я хочу запускать скрипт каждые 5 секунд, но (для экономии ресурсов), только когда запущено указанное приложение. Есть ли способ сделать это с помощью crontab?


Использовать обертку, которая модифицирует crontab для вызова приложения?
dirkt

Ответы:


2

Был похожий вопрос:

https://askubuntu.com/questions/800/how-to-run-scripts-every-5-seconds

Минимум Cron составляет 1 минуту. Если вы хотите меньше, вы должны построить скрипт с бесконечным циклом и «спать 5». И вы можете проверить, работает ли указанное вами приложение с pgrep. Подобно:

pgrep YOURAPP > /dev/null 2>&1 && YOURSHELL.sh

Пример:

Допустим, скрипт, который вы хотите запустить, это /tmp/test2.sh

#!/bin/bash
echo $$ >> /tmp/pids

мы можем запустить его, если каждые 5 секунд запускается ssh:

#!/bin/bash
while true
do
        pgrep ssh > /dev/null 2>&1 && /tmp/test2.sh
        sleep 5
done
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.