Vous êtes sur la page 1sur 3

Les Processus

Introduction :
Une instance d'exécution d'un programme se nomme processus.

Un processus a de nombreuses caractéristiques

– Le programme qu'il exécute

– Pid interne que lui affecte le système

– Son créateur (ppid)

– L'utilisateur pour lequel il tourne

– Consommation CPU

– Temps elapse

– Consommation mémoire

Dans UNIX/Linux on oppose souvent les processus des utilisateurs aux processus
du système ou démons (ils tournent en tâches de fond dès que la machine est
démarrée).

A-Etude des processus (commande ps, top …)


1)
Commande Ps :
Sous Linux, cette commande accepte différents types d'options
– Unix98, elles sont précédées par un "-" ; ps -ef
– BSD, elles ne sont pas précédées par un "-" ; ps ax
– GNU, elles sont précédées par "--" ; ps --user root
– Ces options peuvent souvent être mélangées
– ps --help donne l'aide en ligne
Cette commande affiche l’état des processus en cours.
a-
PID TTY TIME CMD

1969 Pts/0 00 :00 :00 bush

2028 Pts/0 00 :00 :00 ps

Le premier processus : did 1969/user1


%cpu le processus ayant le plus utilise le processeur.
2)
L’option de la commande ps qui permet d’afficher le PPID d’un processus :
ps-f ppid de user1 est 1969.
La commande qui donne la liste ordonnée de tous les processus ancêtre :
ps-d : Pid TTY
3)

Le rôle de la commande pstree : affiche les processus en cours d'exécution sous la forme
d'un arbre. La racine de l'arbre est soit pid, soit init si pid est omis.

Si un nom d'utilisateur est fourni, tous les arbres de processus prenant racine sur des processus
appartenant à cet utilisateur seront affichés.

4) commande top

La commande top permet d'afficher des informations en continu sur l'activité du


système. Elle permet surtout de suivre les ressources que les processus utilisent
(quantité de RAM, pourcentage de CPU, la durée de ce processus depuis son
démarrage).

Pour quitter top, appuyer simplement sur la touche "q".

B- Avant-plan et Arrière plan


1)

La commande cat permet de lire des fichiers.

Ctrl +c : tues le processus.

Rediriger le contenu de cat vers un fichier a1 : cat >a1

 On trouve dans a1 ce qu’on a crée à l’aide de la commande cat.

2)

Les processus peuvent être soit en avant-plan (foreground), soit en arrière-


plan(background) appelé aussi parfois tâche de fond.
 On parle de job et de contrôle de jobs pour les processus en arrière-plan.
Jobs : option taches

Affiche la liste des tâches (ou simplement celles précisées par tâches) lancées dans le shell
ainsi que leur état (<< running >> lancée en arrière plan ou << suspended >> interrompue).
Vous pouvez intervenir sur ces tâches via les commandes bg, fg et kill en spécifiant leur
numéro précédé d'un %.
Le processus en avant-plan est celui avec lequel on dialogue, il reçoit des
données du clavier et envoie des messages sur l’écran. À l'opposé, un processus
en arrière-plan ne reçoit rien du terminal ; en général il tourne tranquillement
sans jamais rien demander à personne.
Certains programmes ont des temps de traitement très longs, et ne font rien
d'intéressant pendant qu'ils travaillent. L'exécution d'un calcul long, la
compilation du noyau Linux sont des processus de ce type.
 Une fois qu'un processus est « tué » ainsi, on ne pourrez plus le rappeler,
3)
Ctrl +z : => stopper le processus.
$fg : Relance en premier plan une tâche référencée par son numéro. Celle-ci a été le plus
souvent interrompue par un CONTROL-Z. Sans paramètre, fg agit sur le dernier processus
interrompu.
$bg : Passe en arrière plan une tâche référencée par son numéro.
4)
a- ps ls vi fichier.tx rm a1 : 4processus lancer en avant plan.
b- pour passer le 3iéme en arriére plan : bg % 3
c- on tapant $%2 le nom du processus s’affiche.
d- Kill -9 pour tuer les processus.
A-Gestion des Processus
Après la construction des 3 fichiers com1 com2 com3 pour exécuter la
commande com1 il faut faire :

$ PATH=$PATH :.

$ chmod +x com1

$ com1

 $com1>trace1
 $ cat trace1

Utilisation de la commande exec :

exec commande
Permet d'exécuter une commande à la place du shell courant. Ceci est utile pour changer de
shell sans conserver le précédent.