Crear un demonio en Linux (con nohup)

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

Leer más » 7 Comentarios