J'étais curieux et confus quant au comportement exact de CTRl + Z.
Je sais, si un processus s'exécute en avant-plan et que l'on appuie sur ctrl + z, il passe en arrière-plan.
Mais qu'est-ce qui se passe exactement.
Est-ce qu'il continue à faire son travail ou est-il suspendu et arrêté là où il était?
Et si cela s'arrête à ce moment-là, et quelle est la signification de job d'arrière-plan.
Réponses:
Un "job d'arrière-plan" est juste un travail qui n'interagit pas avec l'utilisateur - il ne contrôle pas le terminal et il fait juste ce qu'il veut (généralement en silence). Un travail de premier plan est l'inverse, il détient le contrôle du terminal pour interagir avec l'utilisateur.
Control-Z suspend le processus de premier plan le plus récent (le dernier processus à interagir avec le terminal) (à moins que ce processus ne prenne des mesures pour ignorer la suspension, comme le font normalement les shells). Cela vous ramènera généralement dans votre shell, à partir duquel vous pourrez généralement entrer la commande
bg
permettant de déplacer le processus suspendu en arrière-plan (en le laissant continuer de s'exécuter) oufg
de le ramener au premier plan.la source
fg
identifiant d'abord le travail en le lançant,jobs
puis en indiquant si son% 1, puis lefb %1
processus sera reprisfg %1
pasfb %1
Appuyez sur Ctrl + Z envoie le
TSTP
signal à votre processus. Cela arrête l'exécution (le noyau ne programme plus de temps processeur) et le processus attend un CONT pour continuer le traitement.Vous pouvez émuler / reproduire ceci via
kill -TSTP
etkill -CONT
(car vouskill
enverrez un signal nommé à votre processus, malgré le nom!)Le shell a la fonctionnalité pour «mettre en arrière» le processus, mais c'est une relation entre le shell et le processus. Le processus lui-même n'a pas vraiment le concept de «fond» ou «premier plan».
Voir ici pour plus d'informations.
la source
^Z
envoie SIGTSTP, pas SIGSTOPConsidérez cette commande, qui prend env. 4,5 secondes sur mon ordinateur portable:
Lorsque vous appuyez sur Ctrl+ Z, le calcul est suspendu. Vous avez la possibilité de reprendre le calcul en avant-plan à l'aide de
fg
, ou de le reprendre en arrière-plan avecbg
. Ce dernier est plus ou moins équivalent à exécuter:la source
Un processus est suspendu et arrêté lorsque vous appuyez sur ctrl + z. Avec fg, vous pouvez déplacer le travail suspendu au premier plan. Avec bg, vous pouvez l'exécuter en arrière-plan.
Voir http://linuxreviews.org/beginner/jobs/ pour plus d'informations.
la source