1

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

1 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .