Dejar un proceso en ejecución al salir de una sesión en GNU/Linux con nohup

Siguiendo con la tónica de los últimos artículos, va otro para administradores de sistemas, que de hecho la mayoría ya conocerán. Veremos cómo mantener un proceso en ejecución aunque salgamos de la terminal. Además de cómo dejarlo en segundo plano. Para ello vamos a utilizar el comando “nohup

Sobre el comando nohup

Dicho comando nos permite mantener la ejecución de un comando aunque salgamos de la terminal, ya que de esta manera se ejecuta de manera independiente a la sesión. Este comando se encarga de ignorar la señal HUP (encargada de enviar una señal a un proceso cuando la terminal, que lo controla, se cierra) De esta manera, aunque cerremos la terminal, el proceso se sigue ejecutando.

Podemos ver su funcionamiento, mediante las páginas de man.

1
2
3
4
5
6
7
8
9
10
11
12
Modo de empleo: nohup ORDEN [ARGUMENTO]...
       o bien:  nohup OPCIÃN
Ejecuta ORDEN, descartando las señales de colgar.
 
      --help     muestra esta ayuda y finaliza
      --version  informa de la versión y finaliza
 
If standard input is a terminal, redirect it from /dev/null.
If standard output is a terminal, append output to `nohup.out' if possible,
`$HOME/nohup.out' otherwise.
If standard error is a terminal, redirect it to standard output.
To save output to FILE, use `nohup COMMAND > FILE'.

A modo de ejemplo, de la siguiente manera, utilizaremos el comando nohup, combinándolo con el símbolo “&”, de esta manera indicamos que queremos ejecutarlo en segundo plano:

1
# nohup ./backup.sh &

Al finalizar la ejecución, en el mismo lugar donde hemos ejecutado el comando, nos aparecerá un fichero llamado “nohup.out”, con la información de la salida estándar.

Y esto es todo, espero que os puede servir de ayuda en algún momento.

5 Respuestas

  1. Me encanta !!! Uno de los que más utilizo para que no se detengan los procesos largos que ejecuto desde una sesión SSH 🙂

  2. David dice:

    Yo Uso mucho screen

    ‘ctrl-a d’ detaches your screen session
    ‘screen -r’ recover your screen session
    ‘screen -rD’ recover your screen session is the connnection stops

  3. Rafael Álvarez dice:

    Yo me he pasado a Tmux, una alternativa a screen muy potente y sencilla de utilizar.

Deja un comentario

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

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies