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