GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo reiniciar (o restablecer) un proceso en ejecución en Linux?

Tengo dos sistemas Linux que se comunican a través de sockets (escritorio y placa de desarrollo basada en ARM).

Quiero reiniciar (o restablecer) mi aplicación cliente (que se ejecuta en una placa de desarrollo) cuando el servidor envía un mensaje predefinido en particular. No quiero reiniciar (reiniciar) Linux, solo quiero que la aplicación cliente se reinicie automáticamente.

No puedo entender cómo se debe hacer.

Respuesta aceptada:

La forma normal de hacer esto es dejar que su programa salga y usar un sistema de monitoreo para reiniciarlo. El init programa ofrece un sistema de seguimiento de este tipo. Hay muchos programas de inicio diferentes (SysVinit, BusyBox, Systemd, etc.), con mecanismos de configuración completamente diferentes (siempre escribiendo un archivo de configuración, pero la ubicación y la sintaxis del archivo difieren), así que busque la documentación del que estás usando. Configure init para iniciar su programa en el momento del arranque o tras una solicitud explícita, y para reiniciarlo si muere. También hay programas de monitoreo más sofisticados, pero no parece que los necesite. Este enfoque tiene muchas ventajas sobre hacer que el programa reinicie por sí mismo:es estándar, por lo que puede reiniciar un montón de servicios sin tener que preocuparse por cómo están hechos; funciona incluso si el programa muere debido a un error.

Hay un mecanismo estándar para decirle a un proceso que salga:las señales. Envía a tu programa una señal TERM. Si su programa necesita realizar alguna limpieza, escriba un controlador de señal. Eso no impide tener un comando específico del programa para que se apague si tiene un canal administrativo para enviar comandos como este.


Linux
  1. Cómo instalar vtop en Linux

  2. Cómo matar procesos en ejecución en Linux

  3. ¿Cómo verificar si un proceso todavía se está ejecutando usando Python en Linux?

  4. ¿Cómo matar un proceso que se ejecuta en un puerto particular en Linux?

  5. ¿Cómo reiniciar automáticamente un proceso en segundo plano de Linux si falla?

Cómo enumerar los procesos en ejecución en Linux:una guía para principiantes

Cómo matar un proceso en Linux

Cómo saber cuánto tiempo ha estado ejecutándose un proceso en Linux

Cómo encontrar y matar procesos en ejecución en Linux

Cómo matar el proceso de ejecución de Linux en un puerto particular

Cómo MATAR un proceso en Linux