You are on page 1of 4

La multitâche

Gestion des • Un processus =programme en exécution.


• Appelé aussi tâche
processus sous • Plusieurs processus peuvent être
exécutés en même temps.
Linux • le système d'exploitation met en œuvre
une politique de partage de temps entre
les processus.
Auteur Sami GHARBI 4 mai 2011

Arbre de processus États des processus


• Démarrage: le chargeur de démarrage, GRUB • Actif : en train de réaliser des actions à un
ou LILO, lance un programme appelé init celui- instant donné.
ci commence à charger d’autres processus.
• Exécutable : processus attend dans la file
• Chaque processus lancé devient un enfant de
d’attente son tour pour utiliser le processeur.
celui qui l’a lancé qui est leur parent.
• Lorsque un processus parent termine, tous ces • Endormi (bloqué): un processus est en attente
enfants doivent terminer aussi. d’un événement ou une ressource non libre pour
• Chaque processus obtient un PID qui permet au redevenir exécutable.
système de l’identifier. Et il possède une • Zombie : état où le parent a perdu
référence sur son parent PPID. connaissance de l’état de son fils.

3 4
Lister les processus Interagir avec les processus
La commande ps avec les options aux, axl.
• ps -e -o"%p %P %U %c"
PID PPID USER COMMAND • Pour contrôler un processus, le système
1 0 root init
506 1 root syslogd communique avec les processus via les
1411
1456
1
1
root
root
httpd
login
messages appelés : signal.
3713 1456 Tian bash • Un signal sera désigné soit par sa valeur
7083 3713 Tian ps
• On peut utiliser la commande pstree numérique soit par son nom.
• Le programme ps ne permet d'obtenir qu'une vision
instantanée des processus courant.
• top : Pour afficher l’état des processus en temps réel.
Il indique aussi l'utilisation mémoire.
5 6

Principaux signaux Quelques exemples de signaux


Valeur Comportement
• un utilisateur peut aussi envoyer des
Signal numériqu Description
par défaut
e signaux grâce à la commande intégrée à
Ce signal permet d'arrêter tout programme car il ne
bash, kill.
Terminer le
SIGKILL 9
processus
peut être géré différemment que le comportement
par défaut. L'arrêt du programme est brutal.
• Syntaxe: kill –signal PID
Si le programme n'a pas prévu de gérer ce signal,
• Exemple:
l'arrêt sera aussi brutal que pour SIGKILL. Mais
SIGTERM 15
Terminer le
comme le comportement par défaut peut être
• kill -s SIGSTOP 256
processus
changé, le programme a la possibilité de réaliser
des opérations avant de se terminer. kill -19 3201
Ce signal demande au processus de suspendre son
Arrêter le
SIGSTOP 19 exécution. Comme SIGKILL, ce signal ne peut
processus
être géré différemment.
7 8
Gestion des jobs Exécution des processus
• Un processus normalement s’exécute en avant-plan
(foreground) : il bloque l'entrée jusqu’à ce qu'il • Exécution en avant-plan :
termine. nano somme.c
• On peut lancer un processus en arrière plan
(background) : il démarre et ne bloque pas • Exécution en arrière-plan :
l’entrée ; l’utilisateur peut exécuter une autre nano somme.c &
commande: c’est un job.
• Les jobs sont gérés par le shell et leurs attributs • Pour afficher la liste des jobs :
des numéros. jobs

[1]+ Running nano somme.c &


9 10

Arrière plan Avant plan


• On peut stopper un processus et reprendre l’entrée du • Pour remettre un job en avant plan on utilise la
shell avec la combinaison de touches Ctrl-Z. commande fg
Arrière-plan Exemple:
• on peut renvoyer un processus en arrière : jobs
– il faut le stopper [1] Running mozilla &
– le renvoyer en arrière plan avec la commande bg [2]- Stopped su
Exemple: [3]+ Stopped emacs -nw &
bg [4] Running dtfile &
[1]+ emacs & Pour remettre mozilla en avant-plan :
jobs fg %1
[1]+ Running emacs &
11 12
Priorité d’un processus Changer la priorité
• La file d’attente des processus est géré grâce à la notion de
priorité : le processus le plus prioritaire s’exécute le premier. • pour changer la gentillesse d’un processus déjà
• Sous Linux on parle de gentillesse (niceness) : le en exécution
processus le plus gentil (nice) est le moins prioritaire. Syntaxe:
• La priorité peut être ajustée avec nice dans l'intervalle -20 • renice priorité -p pid
(le plus prioritaire) à 19 (le moins prioritaire).
Quelques règles :
Syntaxe:
• nice priorité commande • la priorité d’un processus peut être altérée
Exemple: seulement par son propriétaire du processus.
• nice +13 nano myfile.txt • Un utilisateur ne peut que réduire la priorité de
ses processus.
13 14

You might also like