Tutoriales

Cómo reiniciar un programa después de una falla o reiniciar en Linux

En el mundo de las computadoras Linux, es importante asegurarse de que los programas estén siempre ejecutándose. A veces, cosas como bloqueos o reinicios repentinos pueden alterar el funcionamiento de un programa, provocando problemas o incluso una posible pérdida de contenido importante.

¿Pero adivina que? Incluso si sucede algo complicado, existen algunas formas interesantes de asegurarse de que su programa se mantenga activo. Veamos algunas formas sencillas de garantizar que su programa pueda manejar situaciones difíciles en Linux.

1. Servicios del sistema

Un enfoque popular es utilizar un administrador de procesos como systemd, un sistema de inicio ampliamente utilizado que se puede configurar para monitorear y reiniciar servicios fallidos, proporcionando así una solución poderosa para la confiabilidad de las aplicaciones.

Crear servicio Systemd

Para usar systemd para el reinicio automático, cree un archivo de servicio (por ejemplo, ‘miaplicacion.servicio‘) usando tu editor favorito.

$ sudo nano /etc/systemd/system/myapp.service

A continuación, defina el comportamiento de reinicio como se muestra.

[Unit]
Description=My Application

[Service]
ExecStart=/path/to/myapp
Restart=always

[Install]
WantedBy=default.target

Después de crear el archivo systemd, puede activar e iniciar nuestro servicio de aplicaciones, lo que garantiza que si la aplicación se detiene o la computadora se reinicia, se reiniciará sola.

sudo systemctl enable myapp.service
sudo systemctl start myapp.service

También podemos ver rápidamente cómo se están desempeñando nuestros servicios. Si solo queremos saber si el servicio está funcionando correctamente podemos escribir:

sudo systemctl is-active myapp.service
sudo systemctl status myapp.service

Si lo deseamos, podemos detener rápidamente cualquier servicio que hayamos proporcionado anteriormente. Sin embargo, dado que nuestro servicio está configurado para iniciarse cuando se enciende la computadora, incluso si lo detenemos manualmente, se iniciará nuevamente.

sudo systemctl stop myapp.service

Para evitar que se inicie automáticamente debemos usar «desactivar» Orden.

sudo systemctl disable myapp.service

2. Guión para mantener vivo

Cree scripts de shell especiales para comprobar periódicamente si los programas de su computadora funcionan correctamente. De lo contrario, estos scripts pueden iniciarlo nuevamente. ¡Piense en estos scripts como robots amigables que se aseguran de que su juego o aplicación favorita siga funcionando sin problemas!

Para hacer que estos scripts se ejecuten en momentos específicos, puedes usar una herramienta llamada cron, que actúa como un reloj mágico y le dice al robot cuándo completar su trabajo en intervalos regulares. ¡Así que a tu juego o aplicación le vendría bien un poco de ayuda de un bot para asegurarse de que permanezca abierto y listo para jugar en cualquier momento!

#!/bin/bash

# Check if the app is running
if ! pgrep -x "myapp" > /dev/null
then
    # If not, restart the app
    /path/to/myapp
fi

A continuación, utilice cron (programador de trabajos) para programar la ejecución del script cada minuto.

crontab -e

A continuación, debemos incluir las siguientes líneas.

* * * * * /path/to/keep_alive_script.sh

3. supervisor

gerente Es un sistema de control de procesos para Linux que te ayuda a monitorear y controlar procesos, asegurando que permanezcan activos incluso durante fallas o reinicios del sistema. Actúa como guardián de sus aplicaciones, asegurando que siempre se ejecuten como se espera.

Instalar gerente En Linux, utilice las siguientes instrucciones para su distribución de Linux específica.

sudo apt install supervisor         [On Debian, Ubuntu and Mint]
sudo yum install supervisor         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/supervisor  [On Gentoo Linux]
sudo apk add supervisor             [On Alpine Linux]
sudo pacman -S supervisor           [On Arch Linux]
sudo zypper install supervisor      [On OpenSUSE]    
sudo pkg install supervisor         [On FreeBSD]

Una vez instalado el supervisor, debe crear un archivo de configuración que le indique gerente Qué procesos se van a gestionar.

sudo nano /etc/supervisor/supervisord.conf

A continuación, debe agregar la siguiente configuración al archivo.

[program:myapp]
command=/path/to/your/application
autostart=true
autorestart=true
stderr_logfile=/var/log/myapp.err.log
stdout_logfile=/var/log/myapp.out.log

En el ejemplo de configuración anterior, reemplace /ruta/a/tu/aplicación Utilice comandos reales para iniciar su aplicación.este inicio automático y Reinicio automático Opción para garantizar que su aplicación se inicie automáticamente y se reinicie si falla.

Después de realizar la configuración, puede gerente usar control supervisor Orden.

supervisorctl status
supervisorctl start myapp
supervisorctl stop myapp
supervisorctl restart myapp

Estos comandos le permiten verificar el estado de los procesos e iniciarlos, detenerlos o reiniciarlos manualmente según sea necesario.

en conclusión

Al implementar estos métodos, puede aumentar significativamente la confiabilidad de sus aplicaciones en su sistema Linux.lo que elijas sistemao scripts de shell personalizados, la clave es desarrollar estrategias proactivas para detectar fallas y recuperarse automáticamente de ellas.

Esto garantiza que su juego o aplicación siga funcionando sin problemas y sin interrupciones, incluso si su computadora deja de funcionar repentinamente o necesita reiniciarse.

LEER  Linux kernel 6.4, Red Hat Lock Down, sistema operativo Exodia, etc.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba