Ctrl+ Zarrête le travail tandis que Ctrl+ le Ctue.
Pourquoi donc? Est-ce que l'autre sens n'aurait pas plus de sens?
z@z-lap:~$ sleep 100&
[1] 4458
z@z-lap:~$ sleep 200&
[2] 4459
z@z-lap:~$ jobs
[1]- Running sleep 100 &
[2]+ Running sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^Z
[1]+ Stopped sleep 100
z@z-lap:~$ jobs
[1]+ Stopped sleep 100
[2]- Running sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^C
z@z-lap:~$ jobs
[2]+ Running sleep 200 &
bash
shell
signals
job-control
neo0
la source
la source
Réponses:
Je pense que vous pouvez être confus au sujet de la notation du contrôle des tâches. Notamment "Arrêté" signifie qu'un travail est toujours en vie mais que sa capacité à traiter quoi que ce soit a été maintenue (il n'y a pas de temps sur le CPU pour traiter quoi que ce soit). Il s'agit en fait d'un état "Pause" ou "Suspendu", bien que ce ne soit pas le terme technique correct.
CtrlCn'arrête pas un travail, il l'annule ou le tue. Techniquement, cela provoque l'envoi d'un signal d'interruption au programme lui disant d'interrompre ce qu'il fait et de quitter immédiatement. Certains programmes entendront ce signal et effectueront un nettoyage d'urgence sur eux-mêmes avant de quitter. D'autres ne répondent pas au signal et sont ensuite simplement interrompus.
CtrlZd'autre part, "arrête" un travail. Encore une fois, cela se fait avec un signal, mais cette fois, il s'agit d'un signal «stop» au lieu d'un signal «interruption». Cela le met effectivement en attente et rend le contrôle au shell, mais ne tue pas réellement le travail. Si vous souhaitez qu'un tel travail continue de s'exécuter, vous pouvez alors émettre une
bg
commande pour envoyer le dernier travail arrêté à l'arrière-plan. Il continuera ensuite à fonctionner comme un travail d'arrière-plan comme si vous l'aviez exécuté&
en premier lieu. Vous pouvez également utiliserfg
pour reprendre le dernier travail arrêté au premier plan (lui permettant de continuer là où il s'était arrêté et vous permettant d'interagir à nouveau avec lui).la source
CTRL+C=SIGINT
etCTRL+Z=SIGTSTP
.