suivant: Obtenir la liste des
monter: Multi-niveau (Job control)
précédent: Multi-niveau (Job control)
  Table des matières
Un processus est un environnement d'exécution où, usuellement, un
programme (commande, application, shell, ...) s'exécute. Cet
environnement comprend des variables d'état et de choix. Du point de vue de
l'utilisateur, plusieurs processus peuvent s'exécuter à un moment donné
de façon concurrente. Ils peuvent aussi échanger des données. Par exemple,
ls -laR | wc -l
crée deux processus, un premier listant tous les fichiers de tous les
sous-répertoires du répertoire courant, et un second recevant la liste du
premier (via un pipe, une connexion entre la sortie d'une commande
et l'entrée d'une autre (en remplacement du clavier), connexion représentée
par une barre verticale) qui compte le nombre de lignes.
Dans ce cas, même si pour l'utilisateur les processus monopolisent le
terminal (il ne peut rien faire d'autre), il s'agit réellement de processus
indépendants du shell initial. D'ailleurs on verra dans la section
comment rendre la main au shell initial
en stoppant puis détachant en arrière-plan les processus.
Un job est un processus un peu particulier, en ce sens qu'il a des relations
privilégiées avec son processus père, souvent un shell. De plus,
un processus est identifié par un numéro unique dans tout le système,
alors qu'un job se voit donner en plus un numéro de job unique pour le
shell courant. On se référera en général dans les commandes
à un processus par son simple numéro, et à un job par un pourcent
suivi de son numéro, par exemple kill %1 détruit le job numéro 1.
Des valeurs spéciales sont définies, par exemple kill % tue le
processus manipulé ou créé en dernier.
suivant: Obtenir la liste des
monter: Multi-niveau (Job control)
précédent: Multi-niveau (Job control)
  Table des matières
Marc SCHAEFER
2003-03-01