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

252
LPC11

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

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

1 ответ на вопрос

2
Jaroslav Kucera

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

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 

Похожие вопросы