Запуск программы с использованием задания 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 запускает скрипт, но он кратковременно завершает его. Я вижу, что мой светодиод веб-камеры включается на секунду. Что я делаю не так?

  • Выполните команду, когда какое-либо задание cron завершится с ошибкой, а не просто по электронной почте
  • Команда запуска приложения в определенном каталоге
  • /etc/cron.d/cronjob
  • Что делает * / 13 в crontab?
  • Вход Crontab с часовым диапазоном, проходящим в полночь
  • Выполнение cron 9 до 5 и в полночь
  • cron для удаления после выполнения
  • В чем цель использования разных crontab для каждого пользователя?
  • 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 

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

    Linux и Unix - лучшая ОС в мире.