Cron Job для продолжения работы Daemon?

давайте предположим, что у меня есть работа cron:

*/15 * * * * /path/to/thedaemon 

Демон (он является демоном python через from daemon import runner ), не позволяющий использовать несколько экземпляров самого себя, что само по себе довольно приятно. Он пытается инициировать его, пока демон уже запущен, вот результат:

  • Как я могу автоматизировать изменение между скриптом Python и скриптом Nohup Python?
  • Как изменить мой скрипт для замены и добавления новой переменной в конфигурацию?
  • Пусть etckeeper monitor / var / spool / cron тоже
  • Где мой /etc/init.d/skeleton на OpenSuse 12.3?
  • Как бы вы построили cron, который освобождает почту во всех почтовых ящиках?
  • Разрешение отказа 2ban отказано в скрипте
  •  lockfile.LockTimeout: Timeout waiting to acquire lock for /tmp/thedaemon.pid 

    Конечно, задача cron не волнует – она ​​могла бы постоянно сушить команду, так что в случае, если она не работает, она начинает работать. Но это не очень элегантно.

    Более элегантно, есть ли способ настроить задание cron, чтобы узнать, запущен ли демон перед его началом? Возможно, короткое ручное if-условие?

    Короче говоря, как мне настроить задание cron, чтобы убедиться, что демон работает?

    Если вы работаете, ничего не делайте. Если не работает, инициируйте.

  • Пользователь x не может использовать эту программу (crontab)
  • в чем разница между cron и systemd?
  • Сценарий проверки синтаксиса файла Cron
  • Почему выход free -h использует разные разделители цифр при запуске cron?
  • Что такое эквивалент python для grep -v?
  • Как упаковать Django-сайт для Debian (не пакет Python или яйцо)?
  • One Solution collect form web for “Cron Job для продолжения работы Daemon?”

    Вы можете обернуть ваш демон python в сценарий оболочки. При первом запуске проверьте, запущен ли процесс:

     pid=$(cat pid.file) ps -ef | grep $pid | grep <command to start daemon> if [[ $? -eq 0 ]]; then echo "daemon already running" & exit 1 else <command to start daemon> & \ echo $! > pid.file fi 
    Linux и Unix - лучшая ОС в мире.