HowTo

Dejar procesos corriendo en el fondo aun cuando cerremos la sesión

El nohup evita que nuestros procesos respondan a una señal de ‘HANG UP’ del sistema operativo. Lo bueno de esto es que permite que los procesos sigan ejecutándose después de que cerremos la sesión.

El nohup evita que nuestros procesos respondan a una señal de 'HANG UP' del sistema operativo. Lo bueno de esto es que permite que los procesos sigan ejecutándose después de que cerremos la sesión.

Revisando mi lista de artículos me di cuenta que no tengo uno donde hable de como enviar tareas al fondo y que sigan ejecutándose sin importar si cerramos nuestra sesión.

Existen varias formas de hacerlo pero mi preferida es nohup. Lo uso mas que todo cuando por ejemplo me toca pasarle un mysqldump (de 30 GB) de una maquina a otra o restablecer ese mysqldump en la otra maquina.

El comando nohup le indica a un programa que ignore la señal de ‘Hangup‘ permitiéndole seguir corriendo después de que el usuario que lo inicio haya cerrado su sesión. Un ejemplo de nohup seria:
nohup mysql -u torvalds -pPasswordAqui -bLinuxRocks < ~/linuxroks.sql &

Como ven estamos restableciendo un mysqldump de la base de datos LinuxRocks usando el usuario torvalds pero la clave aquí es que precedo el comando mysql con un nohup y terminamos el comando con un & para enviarlo al fondo ahora podemos desconectarnos y el el mysqldump seguirá corriendo.

Cualquier salida de este proceso quedara guardado en el archivo nohup.out dentro del directorio en el que estemos ejecutando el nohup.

2 Comments

  1. Otra forma más práctica para procesos semi-interactivos (aunque aplica para los no interactivos también) es usar screen o tmux para multiplexar terminales que funcionen como servicios y que se queden en ejecución aún cuando se cierre la sesión, la ventaja obvia de esto es poder recuperarlos desde cualquier otra sesión desde una máquina diferente, inclusive compartir la salida de los mismos con más de un usuario activo del sistema.

Trackbacks / Pings

Deja un comentario

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

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

La moderación de comentarios está activada. Su comentario podría tardar cierto tiempo en aparecer.