La forma más sencilla de dejar un proceso en ejecución tras cerrar la sesión de consola, es emplear el comando nohup
. Este comando nos permite ignorar la señal HUP, que se emplea para notificar al proceso que la consola se ha cerrado. Al ignorar esta señal, el proceso seguirá ejecutándose aunque cerremos la terminal.
Sabiendo lo anterior, el comando que usaremos es: nohup ./programa.sh &
Si nos fijamos en el comando anterior, al final aparece el símbolo &
, que se emplea para decirle a la shell que el proceso se ejecutará en segunda plano.
Además, cuando un proceso que se ejecuta con nohup
termina, si este proceso ha mostrado alguna información de salida en la terminal, esta se almacenará en un fichero llamado nohup.out
, el cual encontraremos en la misma carpeta donde estaba el script que ejecutamos.
Para más información, siempre puede recurrir al comando de ayuda man nohup
.
Además de nohup
, existen otras herramientas un poco más complejas como screen
o tmux
, a las que tengo pendientes dedicarles un tutorial más extenso.