Hiparco

Recetas y trucos de GNU/Linux e informática en general

Alojado en http://guimi.net

Background / Foreground jobs – gestión de trabajos en fondo

Para pasar un trabajo al fondo (background) podemos pulsar Ctrl+z durante su ejecución y detenerlo:

$ sleep 10
^Z
[1]+  Detenido                sleep 10

También podemos ejecutarlo directamente en background con “&”:

$ sleep 10 &
[1] 5166

Otra opción es ejecutarlo modificando su prioridad con “nice” y “renice”:

$ nice
0
$ nice sleep 10 &
$ nice -n 5 ls
# nice -n -2 ls
$ renice +1 [PID]

Para ver el listado de trabajos en background:

$ jobs
[1]+  Detenido                sleep 10
[2]-  Ejecutando              sleep 10 &

Atención Como se ve, no es lo mismo detenerlo y dejarlo en background, que ejecutarlo en background.

Siguiendo el ejemplo, pasados 10 segundos, cuando ejecutemos cualquier comando, o pulsando intro nos dice:

$
[2]-  Hecho                   sleep 10

Pero el primero sigue en espera:

$ jobs
[1]+  Detenido                sleep 10

Podemos matarlo y terminarlo con:

$ kill %1
[1]+  Terminado               sleep 10

O podemos recuperarlo con:

$ fg %1
sleep 10
Category: GNU/Linux, Prompt