Запуск программы с использованием задания cron

Программа видеонаблюдения работает на ПК, и мне нужно, чтобы она всегда работала и сверху, но иногда может возникнуть проблема в программе и завершить ее. Поэтому мне нужен скрипт, чтобы проверить, не запущена ли программа и запустить ее.

Я использовал задачу cron для задания, я написал это задание cron для запуска скрипта:

*/1 * * * * /home/masoud/Desktop/vision3/cron.sh 

и cron.sh:

 cd "${0%/*}" if pgrep -x "video" > /dev/null then echo "running" else /home/masoud/Desktop/vision3/video & fi 

Cron.sh делает работу корректно, задание cron запускает скрипт, но он кратковременно завершает его. Я вижу, что мой светодиод веб-камеры включается на секунду. Что я делаю не так?

One Solution collect form web for “Запуск программы с использованием задания cron”

Работы Cron не подходят для управления настольными приложениями. Вам было бы лучше запустить приложение из сценария цикла цикла; на его простейшем

 #!/bin/sh cd /home/masoud/Desktop/vision3 while :; do ./vision; done 

Таким образом, когда vision прекращается, оно будет запущено снова.

Возможно, вам захочется спланировать стратегию выхода, когда вы действительно хотите остановить программу. Это сделало бы:

 #!/bin/sh cd /home/masoud/Desktop/vision3 while [ ! -f no_vision ]; do ./vision; done 

Затем, когда вы хотите остановить программу,

 touch /home/masoud/Desktop/vision3/no_vision 

и закройте его – скрипт оболочки тоже остановится.

  • Задача Cron начинается в 5:30 и выполняется каждые 5 минут один раз
  • /etc/cron.hourly в домашнем каталоге
  • сломанное задание cron после его редактирования
  • Как root, как я могу перечислить crontab для всех пользователей?
  • Не все сценарии оболочки, работающие с crontab
  • Создание задания cron и просмотр его вывода в режиме реального времени
  • Как найти беглого Кронтаба
  • В crontab @reboot работает, но не работает
  • Добавить задание CRON из командной строки?
  • Ежедневная работа cron не работает
  • Cron не запускает мой скрипт
  • Cronjob запускает скрипт каждые 3 недели в среду
  • Linux и Unix - лучшая ОС в мире.