Bien, no es la forma más “bonita”, pero sí una de las más efectivas. Si queremos lanzar una aplicación como un demonio de UNIX podemos usar el comando nohup. Con este comando estaremos:
- Ignorando la señal HUP, de esta forma permitimos que el programa continúe su ejecución después de que el usuario que lanzó el comando abandone la sesión.
- Almacenando la salida del programa (STDOUT) en un fichero texto. Así, si queremos saber qué está ocurriendo podemos leer el contenido del fichero nohup.out
Veamos cómo lanzarlo:
ahornero@6581-D:~$ nohup el_commando_o_programa
Como ejemplo, podemos lanzar lo siguiente:
ahornero@6581-D:~$ nohup sleep 1000 &
nohup: ignoring input and appending output to `nohup.out’
Abandonamos el terminal
ahornero@6581-D:~$ logout
Y volvemos a entrar. Ahora miramos qué PID tiene el programa en ejecución:
ahornero@6581-D:~$ ps aux | grep sleep
4076 4596 4076 4784 pty0 1002 13:01:36 /usr/bin/sleep
También podemos usar directamente pgrep y obtendremos directamente el PID:
ahornero@6581-D:~$ pgrep sleep
4076