MP2L
Cours GNU/Linux
Chapitre 6 : Gestion des
processus
1. Notion de processus
Un programme est la traduction d'un algorithme crit l'aide d'un langage de programmation.
Il est compil ensuite li pour produire, sur disque, un binaire ex cutable. (de nom g n rique
a.out). Il s'agit d'une entit (s quence de code et s'appliquant sur des donn es) qui est statique.
Un processus est une entit qui donne une id e sur la fa on avec laquelle volue l'ex cution
du programme par le processeur. C'est une entit dynamique qui volue en fonction du
temps. On pourrait le d finir comme l'ensemble constitu du programme ex cutable (avec ses
donn es) et d'un contexte d'ex cution (informations indispensables au noyau du syst me
d'exploitation, telles que la valeur du compteur ordinal, la pile, etc.)
L'ensemble de ces informations constitue le bloc de contr le du processus (Process Control
Block)
Le syst me GNU/Linux emploie un processus particulier, l'ordonnanceur (scheduler), pour
pouvoir allouer le processeur aux diff rents processus pr sents en m moire. L'ordonnanceur
du processeur sous GNU/Linux est bas sur l'attribution d'une priorit dynamique et le recours
au tourniquet (round robin) pour arbitrer les conflits entre les processus ayant une m me
priorit . De cette fa on, tous les processus seront servis.
Le syst me GNU/Linux distingue essentiellement deux types de processus:
Les processus syst me:
De tels processus ne sont pas lanc s partir de terminaux et sont la propri t du super-
utilisateur : Les processus d mons (daemons). Ces processus assurent un certain nombre
de services pour les utilisateurs (locaux ou distants) du syst me. Ces processus ont, par
d faut, la racine absolue du syst me de fichier comme r pertoire de travail. On distingue
les processus:
init : il sert initialiser le syst me. Il doit s'assurer que sur chaque terminal re-
li au syst me s'ex cute un processus permettant un utilisateur de se connecter au
syst me (processus getty). Il g re aussi le probl me de processus orphelins (cas
des processus zombis). Le processus init a comme identificateur la valeur 1 et c'est
le processus parent de tous les processus shells cr s par les utilisateurs lors de
leurs connexions au syst me.
Yahia SLIMANI/Habib SMEI
- Page 1 -
MP2L
Cours GNU/Linux
cron : c'est un processus dont le r le est de lancer des dates pr cises des com-
mandes particuli res. Les utilisateurs peuvent exploiter ce processus pour pro-
grammer des t ches en diff r (batch).
inetd (xinetd sous Linux) : il s'agit d'un super-d mon. Son r le est de contr -
ler les principaux services r seau (telnet, ftp, rlogin, etc.). Il permet de cr er un
processus satisfaisant la requ te correspondante.
Les processus utilisateur:
Ces processus ex cutent une t che d di e et ont une dur e de vie assez limit e.
De tels processus sont cr s d s la connexion d'un utilisateur au syst me. Typiquement ces
processus ex cuteront un interpr te de commandes (shell) qui analysera et cr era un processus
qui ex cutera la commande tap e partir de l'invite de commandes. D'autres moyens sont,
cependant, possibles tels que le recours d'autres processus (les diteurs par exemple) ou
partir d'applications qui effectueront des appels syst me de type fork.
Il faut noter que la plupart des processus utilisateur sont sous le contr le d'un terminal (lanc s
partir d'un terminal de contr le).
Par ailleurs, le syst me GNU/Linux distingue deux modes pour l'ex cution des processus:
Le mode utilisateur:
C'est le mode qui ne permet un processus que d'acc der qu' son propre espace d'adressage
qui lui a t allou par le syst me et n'ex cute que les instructions du programme sous-jacent
(le programme correspondant au processus).
Le mode noyau:
Dans ce mode, un processus ex cute des instructions n'appartenant pas un programme sous-
jacent mais au noyau du syst me. Il est possible, galement, d'acc der des donn es ne
faisant pas partie de son propre espace d'adressage (les tables utilis es par GNU/Linux). Le
passage en mode noyau se r alise par le processus lui-m me par un appel syst me SVC
(SuperVisor Call) ou par interruption qui activera le traitant d'interruption (Interrupt Handler).
Notons, aussi, que sous GNU/Linux, les processus sont conformes aux principes de la
g n tique. En effet, sauf pour le processus anc tre commun, tout processus cr poss de un
parent duquel il h rite un certain nombre de caract ristiques. Tout processus cr est le
r sultat de l'appel syst me fork. Les principales caract ristiques des processus sont les
suivantes:
Identificateur du processus: PID (Process IDentifier): un entier naturel
Identificateur du processus parent: PPID (Parent Process IDentifier): un entier naturel
Propri taire: UID (User IDentifier) : un entier naturel
Groupe propri taire GID (Group IDentifier) : un entier naturel
Yahia SLIMANI/Habib SMEI
- Page 2 -
MP2L
Cours GNU/Linux
Terminal de contr le ou d'attachement TTY,
Priorit ,
R pertoire de travail ,
etc.
2. La commande ps
La commande ps (process status) permet d'obtenir, si elle est ex cut e par un utilisateur
quelconque, la liste des processus avec ventuellement leurs caract ristiques. Avec les options
pass es la commande, l'utilisateur pourrait obtenir davantage de d tails sur les processus. Si
la commande est tap e sans param tres, elle affichera les informations suivantes:
q
q
q
q
Exemple
Le num ro du processus (PID)
Le num ro du terminal (TTY)
Le temps d'ex cution cumul (TIME) sous format hh:mm:ss
La commande correspondant au programme sous-jacent (COMMAND)
Sous le syst me Linux, un utilisateur qui vient de se connecter tape la commande ps:
$ ps
PID
1780
1763
Publicité
TTY
tty1
tty1
TIME
00:00:00
COMMAND (ou CMD)
ps
00:00:00
-bash
Remarquons ici que la valeur de TIME est 00:00:00 puisque le temps d'ex cution des
processus ps et bash sont plus petits qu'une seconde.
L'option l permet d'avoir davantage de d tails sur chaque processus:
Le num ro d'identification de l'utilisateur (UID)
L'identificateur du processus (PID)
L'identificateur du processus parent (PPID)
Le terminal de contr le (TTY) attach au processus, la valeur ? signifie que le proces-
sus n'est pas attach un terminal.
L' tat du processus (S): peut tre R (Running) i.e processus en cours ex cution ou S
(Sleeping) i.e processus endormi (attente d' v nement)
Priorit du processus (C / NI / PRI)
Adresse (ADDR) et taille (SZ) du processus
Cause de l'attente (WCHAN) si le processus est mis en sommeil
Soit l'exemple suivant ex cut par le super-utilisateur sur le terminal tty2 :
$ ps l
Yahia SLIMANI/Habib SMEI
- Page 3 -
MP2L
Cours GNU/Linux
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 1115 1 0 72 0 - 580 wait4 tty2 0:0:00 login
0 S 0 1216 1115 0 77 0 - 638 wait4 tty2 0:0:00 bash
0 R 0 1262 1216 0 79 0 - 769 - tty2 0:0:00 ps l
On remarque sur cet l'exemple pr c dent, que le processus parent du processus qui ex cute la
commande login a comme PID la valeur 1 qui correspond au processus init. Le processus
ex cutant la commande bash a comme parent le processus ayant comme PID la valeur 1115
(login) et il est en m me temps parent du processus ps dont le PID est 1262.
3. Terminaison de processus
Chaque processus qui termine son ex cution n'aura plus besoin, en principe, de ressources. Il
faudrait donc liminer tout processus ayant termin son ex cution afin de lib rer les
diff rentes tables du syst me r f ren ant ces processus.
Un tat, de processus, tr s particulier sous GNU/Linux est l' tat zombie. Il correspond la
terminaison d'un processus par son p re. Ce dernier pourrait consulter les informations dont il
aura besoin pour savoir comment son fils s'est termin .
Chaque processus qui se termine aura un code de retour (exit status). Ce code de retour sera
utilis par le processus parent pour r cup rer les informations n cessaires sa progression.
Une valeur nulle, indique une terminaison normale du processus. Une valeur non nulle
indique une terminaison anormale.
Tout processus en cours d'ex cution pourrait recevoir de la part d'autres processus des
signaux. On pourrait, titre d'exemple, interrompre, l'aide de la touche ctlr c, l'ex cution du
processus ls qui affiche le contenu d'un r pertoire. Dans ce cas, le terminal envoie un signal
particulier interpr t par le shell au processus ex cutant la commande ls. Un tel signal est
repr sent g n riquement par SIGINT. Le syst me GNU/Linux d finit plusieurs signaux qui
pourraient tre envoy s aux processus au cours de leur ex cution.
Si un processus est en ex cution et il re oit un signal de type SIGINT (interrupt) ou SIGQUIT
(Quit) il sera mis imm diatement l' tat zombie. Si le signal re u est SIGQUIT, une image du
processus ( sa terminaison) sera copi e sur disque et pour nom core et un message core
dumped sera affich .
Certains types de processus ignorent l'interpr tation de quelques types de signaux (notamment
SIGINT, SIGQUIT). Un exemple typique de tels processus celui associ un interpr te de
commandes.
Yahia SLIMANI/Habib SMEI
- Page 4 -
MP2L
Cours GNU/Linux
GNU/Linux offre un moyen pour envoyer manuellement des signaux un ou plusieurs
processus. Il met a disposition des utilisateurs la commande kill. Sa syntaxe est la suivante:
kill signal PID
4. La redirection des entr es-sorties
Le syst me GNU/Linux d finit trois fichiers logiques conventionnels qui seront utilis s par
tous les processus. Le fichier entr e standard (standard input), le fichier sortie standard
(standard output) et le fichier erreur standard (standard error).
Lorsqu'un utilisateur se connecte au syst me, ce dernier fait l'association entre ces deux
fichiers logiques (fichiers standards) et le terminal de l'utilisateur. Ainsi, le fichier entr e
standard sera affect au clavier du terminal et le fichier sortie standard est affect son cran.
Le syst me repr sente, par des entiers, chaque fichier standard dans la table de descripteurs
de fichiers utilis e par chaque processus. Le fichier entr e standard a comme num ro d'index
dans cette table la valeur 0 (premier l ment de la table). Le fichier sortie standard a la valeur
1 (deuxi me l ment de la table). Le fichier erreur standard est le troisi me l ment de la
table et a, par cons quent, comme descripteur la valeur 2. Le fichier erreur standard est
associ , comme la sortie standard, l' cran du terminal.
Entr e standard
Sortie standard
Erreur standard
Ce sch ma pourrait tre modifi de sorte que l'entr e, la sortie et l'erreur standard perdent
leurs valeurs habituelles (leurs associations par d faut). Il devient donc possible, pour un
processus donn , d'accepter ses donn es d'entr e non plus de l'entr e standard qui, pour les
processus shell et leurs descendants, est associ e au clavier du terminal mais partir d'un
autre emplacement tel qu'un fichier disque classique. Le m me raisonnement peut s'appliquer
la sortie standard qui pourrait tre remplac e par un autre fichier (disque ou autre).
Redirection de l'entr e standard
Pour rediriger l'entr e standard d'un processus, il suffit de taper, sur la ligne de commande, le
nom de la commande associ e au processus suivie du caract re sp cial '<' et une r f rence
un fichier comme illustr par la syntaxe suivante:
$ commande < r f rence_fichier
Le processus associ commande ne lit plus ses donn es partir de l'entr e standard mais
partir du fichier d sign par r f rence_fichier. noter que l'op ration de redirection de
l'entr e standard n'est possible que si le fichier r f rence_fichier est accessible par
l'utilisateur.
Yahia SLIMANI/Habib SMEI
- Page 5 -
MP2L
Exemple
Publicité
$ wc < liste
3 8 26
Cours GNU/Linux
L'exemple montre la redirection de l'entr e standard. La commande wc (word count) ne lit
plus ses donn es partir de l'entr e standard mais partir du fichier liste
Redirection de la sortie standard
Le principe de la redirection de la sortie standard est analogue celui de l'entr e standard. Le
r sultat du processus relatif la commande ex cut e depuis le shell interactif ne sera plus
affich sur la sortie standard (typiquement l' cran du terminal) mais envoy vers un autre
fichier. La redirection de la sortie standard prend la forme suivante:
$ commande > r f rence_fichier
Comme dans le cas de la redirection de l'entr e standard, il faut que l'utilisateur aie le droit
d' criture sur le fichier r f rence_fichier. Ici deux possibilit s sont voquer: soit que le
fichier r f rence_fichier n'existe pas et dans ce cas il sera cr . Si le fichier r f rence_fichier
existe alors, et selon le shell utilis , il peut tre, ou non, cras par le processus relatif
commande.
Par ailleurs, le syst me offre une deuxi me forme de redirection de la standard: la redirection
en mode ajout (append) en fin de fichier. Un tel type de redirection aura la forme:
$ commande >> r f rence_fichier
Avec cette forme, si le fichier r f rence_fichier n'existe pas il sera cr . S'il existe, le
processus relatif commande ouvrera le fichier r f rence_fichier en mode append et y crira
ses r sultats sa fin.
Exemples
$ date > DATE_DU_JOUR
$ cat < DATE_DU_JOUR
Lun f v 18 15:36:48 CET 2002
$ pwd >> DATE_DU_JOUR
$ cat < DATE_DU_JOUR
Lun f v 18 15:36:48 CET 2002
/home/foulen
Redirection de l'erreur standard
On suppose que sur le r pertoire priv de l'utilisateur foulen i.e. /home/foulen, il existe un
fichier liste et un r pertoire Desktop. Essayons de prendre l'exemple suivant et de l'analyser:
$ ls ld liste Desktop LISTE > Liste_Fichiers
ls: LISTE : Aucun fichier ou r pertoire de ce type
Yahia SLIMANI/Habib SMEI
- Page 6 -
MP2L
$ cat Liste_Fichiers
Cours GNU/Linux
drw xr-x r-x
3
-rwx- - - - - - 1
foulen
foulen
foulen
foulen
4096 f v 1 23:36 Desktop/
107
f v 5 23:08
liste
Le fichier LISTE n' tant pas existant dans le r pertoire de travail, le syst me va g n rer un
message d'erreur concernant uniquement le fichier LISTE, par contre pour les deux autres
fichiers, la commande ls ld a t redirig e vers le fichier Liste_Fichiers.
Avec des interpr tes de commandes comme le Bourne Shell ou le Korn Shell, il est possible
de rediriger l'erreur standard s par ment.
$ ls ld liste Desktop LISTE 2>Erreurs >Liste_Fichiers
$ cat Liste_Fichiers
drw xr-x r-x
3
-rwx- - - - - - 1
$ cat <Erreurs
foulen
foulen
foulen
foulen
4096 f v 1 23:36 Desktop/
107
f v 5 23:08
liste
ls: LISTE : Aucun fichier ou r pertoire de ce type
Dans l'exemple pr c dent, nous avons montr comment on pourrait rediriger la sortie erreur
standard vers un autre fichier en utilisant la syntaxe 2 > Nom_Fichier
5. Encha nement de processus (gestion des jobs)
Le shell utilis le plus fr quemment sur les syst mes GNU/Linux, bash, propose un syst me
de contr le des jobs. Un job correspond une t che demand e par l'utilisateur. Cette t che
peut tre compos e de plusieurs processus. Ce qui les regroupe est un tube. Un job est donc
un regroupement de plusieurs commandes devant s'ex cuter les unes la suite des autres en
communiquant leurs r sultats.
Un exemple tout simple de job pourrait tre le suivant :
$ ls | less
ls permet de lister les fichiers. Mais quand ils sont trop nombreux, la consultation est difficile.
less permet alors de paginer ce qui lui est pass sur son entr e standard et de naviguer
facilement l'aide des touches fl ch es.
Il faut bien voir que lorsque ceci aura t tap , 2 processus seront cr s. Un pour ex cuter ls et
l'autre pour less. Mais bash fournit une abstraction permettant de manipuler ceci comme un
tout, appel e donc job.
Mais un job pourrait tout aussi bien tre constitu d'une seule commande sans utilisation de
tube. L'utilisation de ls uniquement constituerait aussi le lancement d'un job.
Yahia SLIMANI/Habib SMEI
- Page 7 -
MP2L
Cours GNU/Linux
La commande int gr e bash permettant de les lister s'appelle jobs. La lancer dans un shell
ne produira aucun r sultat normalement.
Le syst me GNU/Linux permet aussi aux utilisateurs de lancer l'ex cution de plusieurs processus
(jobs) en m me temps. L'ex cution peut se faire de mani re ind pendante en s quence ou en parall le.
Dans le premier mode d'ex cution, les processus sont ex cut s en s quence et ind pendamment les
uns des autres.
Exemple
La commande suivante produira, dans l'ordre, les r sultats:
$ ls ld ; cat liste; echo Fin du traitement
Publicité
drw xr-x r-x
-rwx- - - - - -
3
1
foulen
foulen
foulen
foulen
4096
f v 1 23:36
Desktop/
107
f v 5 23:08
liste
Liste des ouvrages:
La Programmation sous UNIX
The C programming language
Manuel en ligne d'UNIX (man)
Fin du traitement
Pour rediriger la sortie standard d'une commande compos e, il suffit de parenth s r l'ensemble comme
illustr par l'exemple suivant:
$ (ls ld ; cat liste; echo Fin du traitement) > Resultat
$ cat < Resultat
drw xr-x r-x
-rwx- - - - - -
3
1
Liste des ouvrages:
foulen
foulen
foulen
foulen
4096
f v 1 23:36
Desktop/
107
f v 5 23:08
liste
La Programmation sous UNIX
The C programming language
Manuel en ligne d'UNIX (man)
Fin du traitement
Notons qu'avec ce m canisme d'encha nement, une commande n'est lanc e que si celle qui la pr c de
s'est termin e. Ceci veut dire qu'il n'y a pas de communication entre les diff rents processus relatifs
l'ensemble de commandes constituant la commande compos e. Ceci n'emp che, qu'il est possible, via
le m canisme de redirection, de cr er une sorte de communication entre les commandes. Voyons
l'exemple suivant:
$ ls > FICHIERS ; wc l < FICHIERS; rm FICHIERS
Cette m thode n'est pas commode; car elle n cessite chaque fois, l'utilisation d'un ou de plusieurs
fichiers temporaires et puis leur suppression.
Comme alternative, GNU/Linux offre un m canisme de communication qui permet aux processus de
s'ex cuter simultan ment (i.e en parall le) et d' changer ainsi des informations (d pendance entre les
processus): c'est le principe de la communication par tube. Un tube (pipe) est une entit temporaire
Yahia SLIMANI/Habib SMEI
- Page 8 -
MP2L
Cours GNU/Linux
qui servira mettre en communication deux processus: l'un se comporte comme processus crivain
dans le tube et l'autre comme processus lecteur.
Ainsi la sortie standard du processus crivain est redirig e vers l'entr e du tube et l'entr e standard du
processus lecteur est redirig e vers la sortie du tube. De cette fa on, les r sultats produits par le
processus crivain seront consid r s comme donn es au processus lecteur. On pourrait mettre
plusieurs tubes en cascade; en effet, un processus pourrait se comporter comme lecteur et crivain la
fois. La syntaxe d'utilisation d'un tel m canisme est la suivante:
commande1 commande2 & commanden
Exemple
$ ls l wc -l
Cette commande cr e deux processus concurrents (concurrence sur les ressources du syst me,
notamment le processeur). Un tube sera cr pour que le processus associ la commande ls l crive
ses r sultats dans l'entr e du tube. Le deuxi me processus (associ la commande wc l) extraira ces
donn es (non plus de l'entr e standard ou d'un fichier classique) partir de la sortie du tube. Quand le
processus crivain (ls l) se termine et que le processus lecteur (wc l) a termin sa lecture, le tube
sera vide et une fin de fichier sera d tect e par le processus lecteur qui provoquera sa terminaison
normale.
Le syst me doit veiller la bonne synchronisation des processus. En effet, il doit:
q bloquer le processus lecteur si le tube est vide (attente qu'il se remplisse)
q bloquer le processus crivain si le tube est plein (cas d'un processus lecteur plus lent qu l' crivain)
L'exemple suivant met en vidence l'existence des trois processus correspondant aux commandes: ps,
tee et wc :
$ ps tee RESULTATS wc l
PID
641
653
654
655
5
TTY
tty1
tty1
tty1
tty1
$ cat < RESULTATS
PID
641
653
654
655
TTY
tty1
tty1
tty1
tty1
Publicité
TIME
00:00:00
00:00:00
00:00:00
00:00:00
TIME
00:00:00
00:00:00
00:00:00
00:00:00
COMMAND (ou CMD)
-bash
ps
tee
wc
COMMAND (ou CMD)
-bash
ps
tee
wc
La commande tee, tr s particuli re, peut tre ins r e pour stocker le r sultat de la commande
qui la pr c de dans des tubes en cascade.
Yahia SLIMANI/Habib SMEI
- Page 9 -
MP2L
Cours GNU/Linux
Il est possible de lancer un job en arri re-plan. Cela permet alors de pouvoir continuer
utiliser le shell pour d'autres t ches pendant qu'il s'ex cute. Emacs est un diteur de texte tr s
utilis (notamment pour faire ce site). Si dans une console au sein d'un environnement
graphique on le lance en tapant son nom, une fen tre Emacs va s'ouvrir par d faut. Mais la
console ne sera plus utilisable car le shell attendra la fin de l'ex cution de l' diteur avant de
laisser nouveau la possibilit de lancer des commandes. Pour pouvoir donc lancer ce logiciel
par exemple, il faut rajouter le symbole & (lire esperluette ou ET commercial) la fin de la
d finition de la t che. Pour cet exemple :
$ emacs &
[1] 6373
La premi re valeur est le num ro du job. Celui-ci est unique dans le shell courant. Si plusieurs
sont utilis s simultan ment (comme par exemple avec plusieurs fen tres de console), chacun
aura ses propres jobs et ne pourra agir sur ceux des autres.
La seconde valeur affich e est le PID du dernier processus lanc pour ce job. Il correspondra
la derni re commande dans le tube. tant donn qu'il n'y en a qu'une ici, ce sera donc le PID
pour le processus ex cutant Emacs. Avec l'exemple pr c dent, ce serait celui correspondant
less qui serait affich .
On peut alors utiliser la commande jobs vue pr c demment :
$ jobs
[1]+ Running emacs &
On retrouve ici le num ro du job et la commande utilis e pour le lancer (dans la derni re
colonne). La texte "Running" signifie qu'il est en train de s'ex cuter. Le signe + indique qu'il
s'agit du job le plus r cemment manipul (ce qui sera utile pour les commandes qui seront
vues ensuite).
Si le programme avait t lanc en oubliant d'ajouter le $ il est tout de m me possible de
pouvoir continuer d'utiliser le shell. Pour cela, il faut utiliser la combinaison de touches Ctrl-
Z (maintenir la touche Ctrl et appuyer sur la lettre Z). On aura alors ceci :
$ jobs
[1]+ Stopped emacs
Contrairement l'exemple pr c dent, l' tat du job est indiqu comme "Stopped". Le job est
alors en sommeil et ne r alise aucune action. La fen tre d'Emacs est inactive et on ne peut
utiliser ce programme. Il existe toutefois une commande qui permet de demander ce qu'un
job arr t reprenne son ex cution en arri re-plan. Il s'agit de bg qui prend en param tre le
Yahia SLIMANI/Habib SMEI
- Page 10 -
MP2L
Cours GNU/Linux
num ro de job. Par d faut, bg agit sur le job portant le + dans la liste affich e. Voici ce que
l'on obtient alors :
$ bg
[1]+ emacs &
$ jobs
[1]+ Running emacs &
Tout se passe alors comme si le & avait t indiqu lors du lancement du programme. On peut
remarquer qu'il est d'ailleurs ajout l'affichage.
A l'oppos de bg, il existe fg qui permet de mettre en avant-plan un job. Celui-ci s'ex cutera
alors dans le shell emp chant de saisir d'autres commandes. Le param tre pass fg est le
m me que pour bg (le num ro de job et par d faut celui avec un +). fg peut tre utilis pour
un job tournant en arri re-plan ou arr t .
L'avant-dernier job manipul est lui aussi indiqu d'une mani re particuli re. Voici un
exemple fictif d'affichage :
$ jobs
[1] Running mozilla &
[2]- Stopped su
[3]+ Stopped emacs -nw &
[4] Running dtfile &
En tapant seulement fg (sans param tre donc), c'est Emacs qui sera mis en avant-plan (l'option
-nw permet de l'utiliser en mode texte directement dans la console). Pour rendre le
programme su actif et utilisable, on peut taper indiff remment une des deux commandes
suivantes :
$ fg 2
$ fg -
L'utilisation du - permet donc d'acc der l'avant-dernier job et d'ainsi facilement passer d'un
job un autre sans conna tre leurs num ros.
Etant donn que kill est une commande int gr e bash, il permet aussi d'int ragir avec les
jobs. Pour cela, il faudra la place du PID indiquer le num ro du job pr c d du caract re %.
Comme par exemple :
$ kill -SIGSTOP %1
Qui stoppera le job num ro 3. En fait l'utilisation de Ctrl-Z vue pr c demment est quivalente
l'envoi d'un signal SIGSTOP.
Yahia SLIMANI/Habib SMEI
- Page 11 -