Bases de Linux et de la ligne de commande
Pendant qu'un long ./sim.sh s'exécute dans un terminal, on veut utiliser d'autres commandes dans le même terminal. Que se passe-t-il si l'on appuie sur Ctrl+Z, puis qu'on exécute bg ?
- ACtrl+Z termine sim.sh, et bg relance la même commande depuis le début en arrière-plan
- BCtrl+Z suspend sim.sh, et bg le fait reprendre là où il s'était arrêté, en arrière-plan
- CCtrl+Z fait passer sim.sh en arrière-plan, où il continue de s'exécuter, et bg le suspend
Afficher la réponse et l'explication
Réponse : B. Ctrl+Z suspend sim.sh, et bg le fait reprendre là où il s'était arrêté, en arrière-plan
Appuyer sur Ctrl+Z envoie SIGTSTP à la tâche qui s'exécute au premier plan, et la tâche est suspendue. bg demande à cette tâche de reprendre son exécution et de continuer en arrière-plan, et fg la ramène au premier plan. Les tâches et leur état se vérifient avec jobs, et pour exécuter une commande en arrière-plan dès le départ, on la lance avec &, comme dans « ./sim.sh & ». Cependant, les tâches en arrière-plan peuvent elles aussi s'arrêter quand la connexion du terminal est perdue : un long traitement demande donc une autre précaution.
Continuer : 9 autres questions sur Bases de Linux et de la ligne de commande