|
El problema del metodo anterior es que tenias que saber que querías la
tarea en segundo plano antes de lanzarla, pero, si después de lanzarla
quieres ponerla en segundo plano con el método anterior no puedes.
Para poner una tarea en segundo plano después de haberla lanzado usamos
las teclas Ctrl-Z:
#redirigimos yes a /dev/null para que no moleste
$ yes > /dev/null
#paramos el proceso con Ctrl-Z
(Ctrl-Z)
[1]+ Stopped yes >/dev/null
#Lo traemos al primer plano con fg (foreground, primer plano)
$ fg
yes >/dev/null
#Volvemos a pararlo
(Ctrl-Z)
[1]+ Stopped yes >/dev/null
#Lo pasamos a segundo plano con bg (background, segundo plano)
$ bg
[1]+ yes >/dev/null &
#Miramos con jobs que yes sigue funcionando en segundo plano
$ jobs
[1]+ Running yes >/dev/null &
$ fg
#Lo volvemos a traer al frente
yes >/dev/null
#Lo paramos
(Ctrl-Z)
[1]+ Stopped yes >/dev/null
#Lo matamos
$ kill %1
[1]+ Stopped yes >/dev/null
#Comprobamos que ya esta 'matado'
$ jobs
[1]+ Terminated yes >/dev/null
Los comandos fg y bg actúan sobre el ultimo proceso parado, indicado con
un + detrás del numero de tarea en el comando jobs.
Para indicar a fg o bg sobre que tarea actuar se le debe pasar como argumento
el numero de tarea:
$ yes > /dev/null &
[1] 21644
$ yes > /dev/null &
[2] 21645
$ yes > /dev/null
(Ctrl-Z)
[3]+ Stopped yes >/dev/null
$ jobs
[1] Running yes >/dev/null &
[2]- Running yes >/dev/null &
[3]+ Stopped yes >/dev/null
$ bg
[3]+ yes >/dev/null &
$ jobs
[1] Running yes >/dev/null &
[2]- Running yes >/dev/null &
[3]+ Running yes >/dev/null &
$ fg %1
yes >/dev/null
[1]+ Stopped yes >/dev/null
$ jobs
[1]+ Stopped yes >/dev/null
[2] Running yes >/dev/null &
[3]- Running yes >/dev/null &
$ %2
yes >/dev/null
[2]+ Stopped yes >/dev/null
$ jobs
[1]- Stopped yes >/dev/null
[2]+ Stopped yes >/dev/null
[3] Running yes >/dev/null &
$ kill -19 %3
$ jobs
[1] Stopped yes >/dev/null
[2]- Stopped yes >/dev/null
[3]+ Stopped yes >/dev/null
$ kill %1 %2 %3
[1] Stopped yes >/dev/null
[2]- Stopped yes >/dev/null
[3]+ Stopped yes >/dev/null
$ jobs
[1] Terminated yes >/dev/null
[2]- Terminated yes >/dev/null
[3]+ Terminated yes >/dev/null
$ jobs
|