Tenía curiosidad y confusión sobre cuál es exactamente el comportamiento de CTRl + Z.
Lo sé, si un proceso se ejecuta en primer plano, y presionamos ctrl + z, pasa a segundo plano.
Pero qué pasa exactamente.
¿Sigue haciendo su trabajo, o se suspende y se detiene en el punto donde estaba?
Y si se detiene en ese punto, y cuál es el significado del trabajo en segundo plano.
Respuestas:
Un "trabajo en segundo plano" es solo uno que no interactúa con el usuario: no controla el tty y solo hace lo suyo (generalmente en silencio). Un trabajo en primer plano es lo contrario, tiene el control de tty para interactuar con el usuario.
Control-Z suspende el proceso de primer plano más reciente (el último proceso para interactuar con el tty) (a menos que ese proceso tome medidas para ignorar la suspensión, como suelen hacer los shells). Esto generalmente lo llevará de regreso a su shell, desde el cual generalmente puede ingresar el comando
bg
para mover el proceso recién suspendido a un segundo plano (permitiendo que continúe ejecutándose) ofg
volverlo a primer plano.fuente
fg
identificar primero qué trabajo emitiendo yjobs
luego decir si su% 1, luego el problemafb %1
y el proceso se reanudaránfg %1
nofb %1
Al presionar Ctrl + Z se envía la
TSTP
señal a su proceso. Esto detiene la ejecución (el núcleo no programará más tiempo de CPU para el proceso) y el proceso está esperando un CONT para continuar el procesamiento.Puede emular / replicar esto a través de
kill -TSTP
ykill -CONT
(yakill
que enviará una señal nominada a su proceso, ¡a pesar del nombre!)El shell tiene la funcionalidad de "fondo" del proceso, pero esta es una relación entre el shell y el proceso. El proceso en sí no tiene realmente el concepto de 'fondo' o 'primer plano'.
Ver aquí para más información.
fuente
^Z
envía SIGTSTP, no SIGSTOPConsidere este comando, que toma aprox. 4.5 segundos en mi computadora portátil:
Cuando presione Ctrl+ Z, el cálculo se suspenderá. Tiene la opción de reanudar el cálculo en primer plano utilizando
fg
, o reanudarlo en segundo plano utilizandobg
. Este último es más o menos equivalente a ejecutar:fuente
Se suspende y detiene un proceso al presionar ctrl + z. Con fg puede mover el trabajo suspendido al primer plano, con bg puede ejecutarlo en segundo plano.
Ver http://linuxreviews.org/beginner/jobs/ para más información.
fuente