Suivant: Avant-plan et arrière-plan Chapitre: Contrôle de processus Avant: Contrôle de processus
Les processus
indexcontrôle de processus|(
Le contrôle de processus est une possibilité offerte par beaucoup de shells (Bash et Tcsh inclus) qui permet de contrôler plusieurs exécutions de commandes depuis un même terminal. Avant que nous ne développions plus avant, il nous faut parler des processus.
Chaque fois que vous lancez un programme, vous démarrez ce que l'on appelle un processus; c'est juste un nom pratique pour désigner un programme un cours d'exécution. La commande ps affiche une liste des processus en cours sur la machine. Voici un exemple:
Le PID donné dans la première colonne est l' identificateur du processus (process ID), un nombre unique donné à chaque processus tournant sur le système. La dernière colonne, COMMAND, est le nom de la commande correspondante. Ici, seuls sont représentés les processus appartenant à Marcel. Ce sont bash (son shell) et la commande ps elle-même. Comme vous le voyez, bash fonctionne en même temps que ps. Le shell bash a exécuté le programme ps lorsque Marcel a tapé la commande. Après que ps se soit terminé (lorsque la table des processus a été affichée), le contrôle est repassé à bash, qui affiche l'invite, prêt à recevoir une nouvelle commande.
Vous entendrez souvent les termes job et contrôle de jobs à ce propos. Les mots processus et job sont interchangeables, mis à part que le second n'est pas français. Toutefois, un processus est généralement appelé job dans le contexte du contrôle de job, même lorsque l'on appelle ça le contrôle de processus. À vous de voir, l'essentiel est de se faire comprendre.
Très souvent les utilisateurs n'exécutent qu'un job à la fois: la commande qu'ils ont entré en dernier. Mais en utilisant le contrôle de processus, vous pouvez exécuter plusieurs jobs à la fois, en les commutant comme vous le désirez. À quoi cela peut-il servir ? Et bien, supposons que vous soyez en train d'éditer un texte et que vous ayez soudainement besoin d'interrompre ce travail et de faire autre chose. Avec le contrôle de processus, vous pouvez suspendre temporairement l'exécution de l'éditeur, et une fois retourné à l'invite du shell, commencer à travailler sur autre chose. Une fois ce travail terminé, vous pouvez relancer l'éditeur et tout retrouver dans l'état où vous l'avez laissé, comme si vous n'aviez jamais quitté le programme. Ce n'est qu'un exemple (pas très bon puisque les consoles virtuelles de Linux vous auraient permis quelque chose de presque équivalent), le contrôle de processus peut être très utile dans beaucoup de circonstances.