Dejar funcionando un proceso aunque cerremos el terminal

procesos
procesos en Linux

Extracto:

Dejar funcionando un proceso aunque cerremos el terminal. El comando de Linux disown permite perder la propiedad de un proceso para que éste siga ejecutándose en segundo plano, lo que permite cerrar el terminal sin que por ello se pierda (o muera) el proceso.

@pedroruizhidalg― Es muy común que tengamos de dejar un terminal abierto porque en él tenemos un proceso muy largo. También suele coincidir que los procesos largos son “delicados”. Mientras trabajamos en otra cosa, siempre corremos el riesgo de cerrar el terminal accidentalmente: matando irremisiblemente el proceso o procesos que estuvieran activos en ese terminal. Se acabó todo.

Descripción

El comando disown, como decimos arriba, pierde la propiedad del proceso: en otras palabras, desvincula el proceso del la ejecución del terminal. Vamos a simular un comando muy largo con el comando de linux yes. Como sabéis este comando envía al terminal (o a la salida que hayamos definido) el carácter ‘y’ mientras esté activo.

Por tanto nuestra idea va a ser desviar el comando yes a /dev/null y pasar este proceso a segundo plano mediante la orden ‘&’. Comprobaremos que se está ejecutando con el comando jobs. Posteriormente desvincularemos, cerraremos el terminal y dispondremos de ese proceso desde un terminal nuevo.

Ejecución

$ yes > /dev/null &
[1] 10889
$ jobs
[1]+  Ejecutando              yes > /dev/null &

Como ahora tenemos un el proceso yes enviando datos a /dev/null en segundo plano, esto está numerado con nuestro proceso 1. Al que nos referiremos como %1 para identificar el proceso. Ahora vamos a desvincularlo y procesarlo desde otro terminal.

$ disown -h %1
$ jobs

Ahora podemos cerrar el terminal tranquilamente. Abrimos otro y miramos los procesos ‘yes’ que se esté ejecutando así:

$ ps -ef | grep yes
pedro 10889 8917 99 15:00 pts/1 00:07:14 yes

Si queremos cerrarlo definitivamente, en el ejemplo que nos ocupa es conveniente para no tener ahí un proceso ejecutándose hasta que se apague el ordenador. Así:

$ kill -9 10889

Con lo que hemos terminado el ciclo completo.

Epílogo

Espero y deseo que este artículo haya sido de utilidad. Es muy importante para la continuación de trabajos de calidad recibir algún tipo de feedback por parte de los lectores: es decir, responde con comentarios, evalúa la calidad del trabajo con el sistema de estrellas, comparte con tus redes sociales, da me gusta, marca el blog como favorito. Son pequeños gestos que ayudan a mantener el trabajo de creación.

 #aboutpedroruizhidalgo
[polldaddy poll=9120832]
♻ miotroblogsite ahorra papel

Deja un comentario