7

У меня есть процесс на сервере Java, который выполняет собственный код, и всегда существует возможность сбоя всего процесса из-за проблемы в собственном коде. Существует ли какой-либо механизм, предлагаемый * nix-операционными системами, в котором я могу заставить процесс перезапускаться сам, когда он существует ненормально (выход из состояния!= 0)

Существует ли какой-либо инструмент / утилита, которая может автоматизировать эту задачу для любого типа процесса, одновременно обеспечивая определенный уровень управления / конфигурации?

2 ответа2

13

Есть несколько вариантов - вы всегда можете обернуть его в короткий скрипт, например:

#!/bin/sh

RC=1
while [ $RC -ne 0 ]; do
   ./my-java-app
   RC=$?
done

Далеко не элегантно, но может быть достаточно.

5

То, что вы ищете, обычно называется мониторингом процесса или надзором за процессом. Есть много инструментов, которые делают это, как правило, как часть изменяющегося набора функций. Upstart все больше используется для системных сервисов в мире Linux. Monit - это первое, что я попробую для программы, не запущенной root, но есть много альтернатив.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .