
El sistema es Debian Whezy x64. Actualmente uso la pantalla para iniciar programas como usuario en lugar de root. Se ve así: En /etc/rc.local, llamo
su -c "/home/user/scripts/startup" user
Luego, en /home/user/scripts/startup, llamo a algunos programas de Python como este:
screen -dmS my_program python /home/user/my_program.py
Todos empiezan bien. El problema es que estos programas tienden a actualizarse cada semana aproximadamente. Cuando el programa se actualiza, intenta reiniciarse. Al reiniciar el programa, la sesión de pantalla finaliza y el programa no se inicia de nuevo. Entonces, después de unos días, noto que el programa no funciona y necesito iniciarlo nuevamente manualmente.
¿Hay algo que pueda hacer para garantizar que el programa se inicie nuevamente después de reiniciarlo?
Editar: Leí algo sobre el "modo zombie" de la pantalla que le permite permanecer activo, pero no sé cómo invocarlo en el arranque.
Gracias
Respuesta1
Cree un script que se ejecute en un bucle infinito y observe que el programa se está ejecutando.
#!/bin/bash
while true; do ps aux | grep -v grep | grep -q <program> || <start_program>; sleep 5; done
Inicie el script en la pantalla.