Я запускаю процесс, который иногда падает, а иногда останавливается. Я использовал supervise, чтобы он автоматически перезагружался при сбое. Однако, если он зависнет, он останется замороженным, пока я не вернусь к компьютеру. Мне нужен инструмент, который перезапускает его при сбое, но также может быть настроен на периодическое уничтожение и перезапуск, поэтому, если он замерзнет, он не будет зависать больше, чем в определенный период времени.
Какой инструмент кто бы предложил?
Спасибо
Я пытался использовать, контролируют от daemontools с crontab:
Во-первых, я запускаю с
supervise /fullpath
и я использую этот crontab:
0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath
Где полный путь является каталогом, содержащим файл, названный выполненным, которые запускают мой процесс. Хитрая часть является названным файлом, должен закончиться:
exec java ...
Обычно, я запускаю приложение со сценарием, но если я поместил тот сценарий в файл, названный выполненным, когда svc выполняется, это отправляет сигнал в сценарий, и процесс Java продолжают работать. Я создал копию сценария и изменил его, чтобы заставить его произвести вызов к Java со всем параметром и скопировал это в файле, названном выполненным.
Вы можете использовать cron, если хотите ...
sudo crontab -e
* /5 * * * pkill -9 <your process name here> ; <your process name here>
Убивал и перезапускал его каждые 5 часов. Больше примеров ... Примеры Cron