Le système d’exploitation Unix permet de suspendre un processus en tapant CTRLZ. La suspension d’un processus permet de reprendre le processus ultérieurement. En cela, la suspension est très différente de l’arrêt du processus qui entraîne la perte du travail en cours d’exécution. Lorsqu’un processus est suspendu, il y a deux façons de le reprendre: en avant-plan ou en arrière-plan.

Prenons deux exemples pour illustrer l’intérêt de suspendre un processus. Tout d’abord, si un utilisateur exécute une commande prévue pour durer et qu’il souhaite exécuter une commande rapide sans attendre la fin de la commande précédente, il suspend la première commande avec CTRLZ, exécute la seconde commande et reprend la précédente commande en avant-plan en saisissant fg. Enfin, si un utilisateur exécute une commande prévue pour durer et qu’il a lancé sa commande en avant-plan, il peut la suspendre en tapant CTRLZ et la relancer en arrière-plan avec bg. L’exemple donné sur la page de cours correspond à ce cas. L’utilisateur a lancé emacs en avant-plan par mégarde (emacs est l’éditeur de texte que vous étudierez à la section 8). En fait, il souhaitait le lancer en arrière-plan, afin de continuer à utiliser son terminal pendant qu’il édite son texte. Il faut alors qu’il suspende le processus correspondant à emacs en tapant CTRLZ et qu’il le reprenne en arrière-plan en saisissant bg.

Un « job » est un processus en arrière-plan ou suspendu (obtenu par exemple en tapant CTRLZ lorsqu’il était en avant-plan). La commande jobs liste les processus concernés avec leur numéro de « job » (à ne pas confondre avec le numéro de processus). L’intérêt est de pouvoir reprendre l’exécution de ces processus soit en avant-plan en utilisant la commande suivante:  
problème génération shellcmds verbatimsoit en arrière-plan en utilisant la commande:  
problème génération shellcmds verbatim  
 
Retour à la page de cours