Sous Linux, vous rencontrez souvent des commandes qui prennent beaucoup de temps à s'exécuter. Au lieu d'attendre et de laisser votre terminal inutilisable, vous pouvez utiliser le contrôle des tâches Linux (job control) pour gérer ces tâches. Cette fonctionnalité puissante vous permet d'exécuter et de gérer plusieurs processus d'arrière-plan au sein d'une seule session shell, améliorant ainsi considérablement votre flux de travail.
Exécuter une commande en arrière-plan
Pour démarrer un processus directement en arrière-plan, ajoutez simplement une esperluette (&) à votre commande. Cela renvoie immédiatement votre invite shell, vous permettant de continuer à travailler pendant que la commande s'exécute.
sleep 1000 &
sleep 1001 &
sleep 1002 &
Lister les tâches d'arrière-plan
Vous pouvez visualiser toutes les tâches s'exécutant en arrière-plan en utilisant la commande jobs.
$ jobs
[1] Running sleep 1000 &
[2]- Running sleep 1001 &
[3]+ Running sleep 1002 &
Le résultat fournit l'ID de la tâche dans la première colonne, son statut et la commande d'origine. Le symbole + indique la tâche d'arrière-plan la plus récemment démarrée, tandis que le symbole - marque la deuxième plus récente.
Gérer les processus actifs
Et si une commande est déjà en cours d'exécution au premier plan et que vous décidez d'avoir besoin de votre terminal ? Vous n'avez pas besoin de l'arrêter. D'abord, suspendez le processus en cours en appuyant sur Ctrl-Z. Ensuite, utilisez la commande bg pour envoyer cette tâche suspendue à l'arrière-plan.
pete@icebox ~ $ sleep 1003
^Z
[4]+ Stopped sleep 1003
pete@icebox ~ $ bg
[4]+ sleep 1003 &
Maintenant, le processus sleep 1003 s'exécute comme une tâche d'arrière-plan, et vous pouvez le vérifier avec la commande jobs.
Ramener une tâche au premier plan
Pour ramener un processus d'arrière-plan au premier plan, utilisez la commande fg. Vous pouvez spécifier une tâche particulière par son ID (par exemple, fg %1). Si vous exécutez la commande fg sans aucun argument, elle ramènera la tâche d'arrière-plan la plus récente (celle marquée par +) au premier plan.
fg %1
Terminer les tâches d'arrière-plan
Si vous avez besoin d'arrêter un processus d'arrière-plan, vous pouvez utiliser la commande kill. Semblable à la commande fg, vous référencez la tâche en utilisant son ID précédé d'un signe de pourcentage (%). C'est une fonction clé du contrôle des tâches Linux.
kill %1
Maîtriser ces commandes est essentiel pour tout utilisateur Linux débutant souhaitant effectuer plusieurs tâches efficacement dans le shell.