Cerrar un terminal en Linux sin matar el proceso en ejecución

La idea es clara: ejecutamos un comando en segundo plano y queremos cerrar el terminal pero no matar el proceso ¿cómo lo hacemos?

Pongamos un ejemplo: queremos ejecutar rsync para copiar un volumen grande de ficheros de una carpeta a otra y queremos luego poder cerrar el terminal sin que se corte el proceso.

Lo primero es lanzar en segundo plano el rsync, para ello lo ejecutaremos añadiendo la instrucción & al final, que lo envía directamente a segundo plano (también se podría hacer con el comando bg, pero con & es más directo)

$ sudo rsync home/music/* usr/otro/home/music/ &

Y vamos con lo siguiente ¿cómo disociamos este proceso del terminal para poder cerrarlo? Pues basta con ejecutar disown

$ disown

Este comando básicamente lo que hace es impedir que el terminal envíe una orden de finalización al proceso cuando se cierra.

Otra opción es utilizar nohup, que ya lo ejecutaría disociado del terminal:

$ sudo nohup rsync home/music/* usr/otro/home/music/ &
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s