Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
A. EL MAMOUN
A.EL MAMOUN
Administration dun systme Linux
Page 1
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus est un programme en cours dexcution. Un processus a
besoin de ressources matrielles: lunit centrale, la mmoire centrale
et laccs des priphriques dentres/sorties.
Caractristiques statiques(ne variant pas au cours de sa vie)
Un numro unique: PID (Process IDentifier),
Un propritaire dterminant les droits daccs du processus aux
ressources : ouverture de fichiers...
Un processus parent dont il hrite la plupart des caractristiques,
Un terminal dattache pour les entres/sorties.
Caractristiques dynamiques
Priorit, environnement dexcution...
Quantit de ressources consommes (temps unit centrale utilis...)
A.EL MAMOUN
Administration dun systme Linux
Page 2
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus est un programme en cours dexcution. Un processus a
besoin de ressources matrielles: lunit centrale, la mmoire centrale
et laccs des priphriques dentres/sorties.
Caractristiques statiques(ne variant pas au cours de sa vie)
Un numro unique: PID (Process IDentifier),
Un propritaire dterminant les droits daccs du processus aux
ressources : ouverture de fichiers...
Un processus parent dont il hrite la plupart des caractristiques,
Un terminal dattache pour les entres/sorties.
Caractristiques dynamiques
Priorit, environnement dexcution...
Quantit de ressources consommes (temps unit centrale utilis...)
A.EL MAMOUN
Administration dun systme Linux
Page 3
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus est un programme en cours dexcution. Un processus a
besoin de ressources matrielles: lunit centrale, la mmoire centrale
et laccs des priphriques dentres/sorties.
Caractristiques statiques(ne variant pas au cours de sa vie)
Un numro unique: PID (Process IDentifier),
Un propritaire dterminant les droits daccs du processus aux
ressources : ouverture de fichiers...
Un processus parent dont il hrite la plupart des caractristiques,
Un terminal dattache pour les entres/sorties.
Caractristiques dynamiques
Priorit, environnement dexcution...
Quantit de ressources consommes (temps unit centrale utilis...)
A.EL MAMOUN
Administration dun systme Linux
Page 4
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus est toujours cr par un autre processus appel
processus parent.
Tout processus a un processus parent sauf le tout premier.
Ce processus est appel init et son identifiant est gal 1 (PID = 1).
Deux types de processus existent:
Les processus utilisateurs, tous issus du shell de connexion;
Les processus dmons :
dmon est une traduction abusive de daemon signifiant deferred
auxiliary executive monitor.
Ces processus daemon assurent un service et sont souvent lancs au
dmarrage de la machine.
Les principaux services assurs par des processus daemon sont
limpression, les tches priodiques, les communications, la
comptabilit, le suivi de tche.
A.EL MAMOUN
Administration dun systme Linux
Page 5
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
La commande ps affiche les caractristiques des processus
un instant donn.
Sans option, elle affiche les processus de la session courante, c.-d. ceux de l'utilisateur qui sont en liaison avec un terminal.
principales options (cumulables)
-l : affiche au format dtaill les informations
-a : affiche aussi les processus des autres utilisateurs
-x : affiche les processus qui ne sont pas li un terminal
-f affiche les processus en hirarchie parent-enfant
-u : affiche nom de l'utilisateur et l'heure de lancement
-e : affiche l'environnement la suite de la ligne de commande
excute
A.EL MAMOUN
Administration dun systme Linux
Page 6
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
La commande pstree permet de visualiser larborescence des
processus.
La commande top permet de visualiser dynamiquement les
caractristiques des processus
En plus des informations sur les processus, top donne des
indicateurs sur ltat du systme: occupation de la mmoire, de
lunit centrale...
top montre lvolution de ces indicateurs en temps rel .
La commande nohup permettant de lancer un processus qui
restera actif mme aprs la dconnexion de l'utilisateur l'ayant
initi.
A.EL MAMOUN
Administration dun systme Linux
Page 7
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Commandes de base
Le nice permet d'influencer la priorit des processus dfinie par le
noyau.
Le mot "nice" signifie gentil en Anglais, c'est donc une mesure de
"gentillesse" entre les processus
Cette mesure de gentillesse s'tale entre 19 (le moins prioritaire) et
-20 (le plus prioritaire).
wait attend la fin dun processus en arrire-plan
nohup
ls lR
nice
-n
A.EL MAMOUN
19
> file.txt
&
top
Administration dun systme Linux
Page 8
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Par dfaut, une commande sexcute en avant-plan (en anglais
foreground).
Par exemple, lutilisateur saisit date.
Le shell cre un processus enfant et attend quil se termine.
Le terminal ne rend pas la main
Le processus enfant excute la commande date.
Les processus parent et enfant sexcutent squentiellement (lun
aprs lautre). Une seule commande est donc excute la fois.
Une seule commande est donc excute la fois.
A.EL MAMOUN
Administration dun systme Linux
Page 9
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Une commande peut aussi sexcuter en arrire-plan (en anglais
background)
Utilisation du caractre &) la fin dune commande
Par exemple, lutilisateur saisit date&.
Le shell cre un processus enfant et nattend pas quil se termine.
Le terminal rend la main immdiatement.
Le processus enfant excute la commande date.
Les deux processus, parent et enfant, sexcutent alors
simultanment .
A.EL MAMOUN
Administration dun systme Linux
Page 10
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Sous Unix, il est possible de suspendre le processus en avant-plan
en tapant CTRLZ.
Le processus suspendu pourra reprendre ultrieurement.
Il existe deux faons de reprendre un processus suspendu:
En avant-plan par la commande fg (foreground)
En arrire-plan par la commande bg (background)
Un job est dfini comme un processus en arrire-plan ou
suspendu.
La commande jobs permet de lister ces processus avec leur
numro de job ( ne pas confondre avec le numro de
processus)
Syntaxe : bg %numero_job ou fg %numero_job
A.EL MAMOUN
Administration dun systme Linux
Page 11
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Commandes de base
Gnralement un processus se termine la fin de lexcution de la
dernire instruction; il est alors dtruit par le systme dexploitation.
Un utilisateur peut terminer un processus en avant-plan en tapant
CTRLC.
Un utilisateur peut aussi terminer un processus avec la commande
kill envoyant un signal un processus.
Par dfaut, la commande kill envoie le signal 15 de terminaison
(SIGTERM) : kill PID
La commande kill peut aussi forcer la terminaison dun processus en
envoyant le signal 9 de destruction (SIGKILL) : kill -9 PID
La commande GNU/Linux killall envoie un signal tous les
processus de mme nom.
Notez que le droit de dtruire un processus est rserv son
propritaire.
A.EL MAMOUN
Administration dun systme Linux
Page 12
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Sous Unix, il est possible de suspendre le processus en avant-plan
en tapant CTRLZ.
Le processus suspendu pourra reprendre ultrieurement.
Il existe deux faons de reprendre un processus suspendu:
En avant-plan par la commande fg (foreground)
En arrire-plan par la commande bg (background)
Un job est dfini comme un processus en arrire-plan ou
suspendu.
La commande jobs permet de lister ces processus avec leur
numro de job ( ne pas confondre avec le numro de
processus)
Syntaxe : bg %numero_job ou fg %numero_job
A.EL MAMOUN
Administration dun systme Linux
Page 13
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus peut se trouver dans plusieurs tats
D : En sommeil ininterruptible ( un processus rsident quelque part
dans le systme qui narrive pas effectuer une tche ou une autre.
R : En cours dexcution (le processus est actif et consomme des
ressources)
S : En sommeil (le processus nest pas actif mais susceptible dtre
rveill par un appel systme)
T : Stopp ou strac (Le processus a reu un signal darrt
temporaire et attend un SIGCONT)
Z : Zombie (ltat Z correspond un fils dont le pre nest pas
encore all lenterrement. En dautres termes, la valeur de retour
du processus na pas t lu par le pre
A.EL MAMOUN
Administration dun systme Linux
Page 14
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Un processus peut se trouver dans plusieurs tats
D : En sommeil ininterruptible ( un processus rsident quelque part
dans le systme qui narrive pas effectuer une tche ou une autre.
R : En cours dexcution (le processus est actif et consomme des
ressources)
S : En sommeil (le processus nest pas actif mais susceptible dtre
rveill par un appel systme)
T : Stopp ou strac (Le processus a reu un signal darrt
temporaire et attend un SIGCONT)
Z : Zombie (ltat Z correspond un fils dont le pre nest pas
encore all lenterrement. En dautres termes, la valeur de retour
du processus na pas t lu par le pre
A.EL MAMOUN
Administration dun systme Linux
Page 15
Commandes de base
A.EL MAMOUN
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Administration dun systme Linux
Page 16
Commandes de base
C h a p i t re 8 : G e st i o n d e s p r o c e s s u s
Pour un utilisateur, un processus peut se trouver dans trois tats: en excution
(excution de la commande), suspendu (CTRLZ) ou termin (kill ou CTRLC).
Le schma sur cette page rcapitule les transitions permettant de passer dun
tat un autre. Lorsquun utilisateur lance une commande, le processus est
cr et est ensuite en excution. Lutilisateur peut alors dcider de suspendre
son processus en tapant CTRLZ.
Le processus ainsi suspendu peut reprendre en avant-plan par la commande fg
ou en arrire-plan par la commande bg. Un utilisateur peut demander la
terminaison dun processus par la commande kill, ou en tapant CTRLC si celuici sexcute en avant-plan.
Le processus est alors termin et le systme le dtruit. Lutilisateur peut aussi
demander la terminaison dun processus suspendu en utilisant la commande
kill.
A.EL MAMOUN
Administration dun systme Linux
Page 17