¿Cómo supervisar un proceso y programar un reinicio periódico?

¿Cómo supervisar un proceso y programar un reinicio periódico?

Ejecuto un proceso que a veces falla y otras veces se congela. Solía ​​supervisar para que se reiniciara automáticamente cuando fallaba. Sin embargo, si se congela, permanecerá congelado hasta que vuelva a estar frente a la computadora. Me gustaría una herramienta que lo reiniciara cuando falla, pero que también se pueda configurar para realizar cierres y reinicios periódicos, de modo que si se congela, no permanecerá congelado más de un período de tiempo determinado.

¿Qué herramienta sugeriría quién?

Gracias

Respuesta1

Podrías usar cron para hacer esto si quieres...

sudo crontab -e

* /5 * * * pkill -9 <your process name here> ; <your process name here>

Lo mataría y lo reiniciaría cada 5 horas. Más ejemplos...Ejemplos de cron

Respuesta2

Intenté usar la supervisión deDaemon Toolscon un crontab:

Primero, empiezo con

supervise /fullpath

y uso este crontab:

0 23 * * * svc -d /fullpath
2 23 * * * svc -k /fullpath
5 23 * * * svc -u /fullpath

Donde ruta completa es el directorio que contiene el archivo llamado ejecutar que inicia mi proceso. La parte complicada es que el archivo llamado debería terminar con:

exec java ...

Normalmente, inicio la aplicación con un script, pero si pongo ese script en el archivo llamado ejecutar, cuando se ejecuta svc, envía la señal al script y el proceso java continúa ejecutándose. Creé una copia del script y lo modifiqué para que generara la llamada a Java con todos los parámetros, y lo copié en el archivo llamado ejecutar.

información relacionada