Jonathan Hernandez

Rails developer. Free (as in freedom) software enthusiast. Gamer.

Desligar Un Proceso De Una Terminal

| Comments

Cuando creamos un proceso en una terminal, éste queda ligado a la terminal como “hijo”. Si la terminal muere, también lo hace el proceso. Para evitar ésto, si estamos en una terminal de escritorio (que es donde más se utiliza) podemos cerrar la terminal con el comando:

exit


y no cerrando la ventana. Ésta es una de las formas que conozco, no sé si pasa lo mismo en las otras terminales que no sean gnome-terminal.

La otra forma, que es la “forma Unix” es con el comando:

disown


Si no le pasamos parámetros, cogerá el último proceso creado. También podemos pasarle como parámetro el PID del proceso si tenemos muchos. O pasarle estas opciones:

Desliga a todos los procesos ejecutados desde la terminal
disown -a


Desliga a todos los procesos ejecutados desde la terminal que esten en marcha (Running).
disown -r


Si os fijais, ejecutando el comando “jobs” vereis en todo momento los procesos que han sido ejecutados en la terminal. Si desligais un proceso desaparece del listado de “jobs”. Para que el proceso se desligue de la terminal pero no se elimine de la lista de jobs podemos pasarle el parámetro -h al disown:

disown -h


Editado: Artículo en gpltarragona.