Запуск и мониторинг процесса с помощью CRON

Запуск и мониторинг процесса с помощью CRON

Есть приложение-заглушка, написанное на языке C. Теперь я хочу запускать это приложение периодически, скажем, в 11.30 утра ежедневно. Я думал об использованиихронпроцесс, но я не знаю как это сделать. Пожалуйста, помогите.

Также я хочухронпериодически проверять, нормально ли работает приложение. Если приложение вылетает или зависает,хрондолжна быть возможность перезапустить приложение в течение определенного периода времени.

решение1

Cron предназначен для запуска запланированных задач через заданные интервалы времени, а не для присмотра за другими процессами.

Вы можете:

  • используйте что-то другое, например, систему скриптов инициализации вашей хостовой ОС, возможно, с пользовательским заданием, inittabкоторое будет само себя возрождать в случае сбоя.

  • или состряпать что-нибудь в виде скрипта оболочки, который периодически запускается и cronпроверяет ваш скрипт-демон с помощью некоторого набора предопределенных проверок на предмет того, правильно ли он работает или нет, и если нет, то выполняет очистку, а затем перезапускается.

решение2

Вы можете просто сделать запись в вашем файле crontab

$ crontab -e

конец, затем ваша запись согласноhttp://www.manpagez.com/man/5/crontab/

[email protected]
30 11 * * * /path/to/your/command

При MAILTOвводе вы получите электронное письмо, если команда выводит данные на STDERR.

Проверка зависания процесса более сложная: следует определить, что вы подразумеваете под зависанием: выполняется дольше определенного времени? Вызывает какое-то узнаваемое поведение?

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

решение3

Кронитор (https://cronitor.io) был инструментом, который я создал именно для этой цели. По сути, он сводится к тому, чтобы быть маяком отслеживания, который использует http-запросы для записи начала и конца задания cron/запланированной задачи.

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

Связанный контент