Proceso de reinicio automático en caso de falla

Proceso de reinicio automático en caso de falla

Tengo un proceso de servidor Java que ejecuta código nativo y siempre existe la posibilidad de que todo el proceso falle debido a un problema en el código nativo. ¿Existe algún mecanismo ofrecido por los sistemas operativos *nix en el que pueda hacer que el proceso se reaparezca cuando existe de forma anormal (estado de salida! = 0)?

¿Existe alguna herramienta/utilidad que pueda automatizar esta tarea para cualquier tipo de proceso proporcionando un cierto nivel de control/configuración al mismo tiempo?

Respuesta1

Hay algunas opciones; siempre puedes envolverlo en un script de shell corto como este:

#!/bin/sh

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

Lejos de ser elegante, pero puede ser suficiente.

Respuesta2

Lo que estás buscando generalmente se llama monitoreo de procesos osupervisión de procesos. Hay muchas herramientas que hacen esto, normalmente como parte de un conjunto variable de funciones.Advenedizose utiliza cada vez más para los servicios del sistema en el mundo Linux.monitores lo primero que probaría para un programa que no se inicia mediante root, pero hay muchas alternativas.

información relacionada