0% ont trouvé ce document utile (0 vote)
33 vues17 pages

Support de Cours Processus 2024

Le document explique les processus en informatique, définissant un processus comme une instance de programme avec son environnement. Il détaille les caractéristiques des processus, leur gestion via des commandes comme 'ps' et 'top', ainsi que l'envoi de signaux pour modifier leur état. Enfin, il aborde les priorités des processus et les commandes associées pour les gérer.

Transféré par

Modou Diagne
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues17 pages

Support de Cours Processus 2024

Le document explique les processus en informatique, définissant un processus comme une instance de programme avec son environnement. Il détaille les caractéristiques des processus, leur gestion via des commandes comme 'ps' et 'top', ainsi que l'envoi de signaux pour modifier leur état. Enfin, il aborde les priorités des processus et les commandes associées pour les gérer.

Transféré par

Modou Diagne
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Licence 2 D2A UADB

Support de cours

Les processus
Définition de processus
• Un processus est une instance de programme
s'exécutant à un instant donné ainsi que son
contexte (ou environnement).

• Son environnement désigne l'ensemble des


ressources utilisées par le programme pour
pouvoir se dérouler comme par exemple la
mémoire, les fichiers ouverts, l'état d'avancement
du programme, les droits associés, la priorité ...

20-11-04 2
Caractéristiques des processus
• Les processus sont identifiés:
- par un numéro unique dans le système à un
moment donné : le PID. C'est à l'aide de ce
nombre que l'on peut désigner une instance de
programme et interagir avec.
- Par un propriétaire. Il s'agit de l'utilisateur qui a
demandé l'exécution. En général, seul ce
propriétaire pourra entreprendre des actions sur le
processus
20-11-04 3
Processus init
• Au démarrage le processus init est créé
 Systemd (2010): une alternative logicielle a init
• init crée tous les autres processus qui sont ses fils
• La commande ps nous permet de voir les processus créés

init

syslogd crond ….

20-11-04 4
Gestion des Processus
• Commande ps: temps CPU utilisé

sam@sam-HP-650-Notebook-PC:~$ ps T
PID TTY STAT TIME COMMAND
2932 pts/0 Ss 0:00 bash
numéro de
processus 9591 pts/0 R 0:00 ps T commande
exécutée

état du
processus: R actif
T bloqué
terminal
P en attente de page
associé
D en attente de disque
S endormi
Z zombi
20-11-04 . 5
Processus
• Pour chaque processus exécuté, le système
d’exploitation stocke un certain nombre
d’informations :
- Numéro unique du processus PID (Process
IDentification) ;
- Numéro du processus parent PPID (Parent
Process Identification) ;
- Numéro d’utilisateur UID (User IDentification)
ayant lancé le processus ;

20-11-04 6
Processus
• Numéro du groupe GID (Group IDentification)
ayant lancé le processus ;
• Durée de traitement utilisé (temps CPU) et priorité
du processus ;
• Référence au répertoire de travail courant du
processus ;
• Table de référence des fichiers ouverts par le
processus

20-11-04 7
Commandes usuelles
• Pour lister les processus actifs lancés dans la console
courante.
ps .
• pour voir tous les processus exécuté par l'utilisateur :
ps -ux
• pour voir les processus exécuté par l'utilisateur dans le
terminal courant :
ps T
• pour voir tous les processus du système
ps aux

20-11-04 8
Qques colonnes du tableau obtenu avec
ps aux.
– "USER" : à quel utilisateur appartient le processus.
– "PID" : le numéro qui identifie le processus
– "%CPU" : en % les ressources du microprocesseur
utilisées par le processus.
– "%MEM" : en % les ressources en mémoire vive
utilisées par le processus.
– "RSS" : mémoire réellement utilisée en ko par le
processus.
– "START" : l'heure à laquelle le processus a été lancé.

20-11-04 9
Commandes usuelles
• ps aux | less : pour contrôler le défilement
• ps aux | grep apache : pour n'afficher que les lignes
concernant le processus cherché.
• ps faux : pour lister tous les processus en les regroupant
par enchaînement d'exécution
• pstree | less permet de visualiser la filiation des processus
sous forme arborescente.
• pidof apache, pour connaitre la liste des PID des
processus du programme apache.

20-11-04 10
Commandes usuelles

• La commande top vous 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).
top -d
• l'option -d pour spécifier des délais de rafraîchissement (en
secondes).
• En cours d'utilisation de top, il est possible de gérer les
processus (changer les priorités des processus, leur
envoyer un signal ..) de manière interactive.
20-11-04 11
Modifier l’état d’un processus
• On peut gérer les processus en leur envoyant des signaux
par l'intermédiaire des commandes kill et killall, suivant
que l'on connaisse le numéro PID du processus, ou bien
son nom

• Exemple :
Pour arrêter ou envoyer un signal à un processus, il faut
utiliser la commande kill.
Syntaxe : kill [-Numéro-du-signal] PID
Ex : kill –9 2345

20-11-04 12
Les signaux
•Chaque processus peut recevoir des signaux
•Chaque signal a une signification particulière

Nom du signal Numéro Description

SIGINT 2 touche Ctrl-C, termine le processus

SIGKILL 9 arrêter tout programme car il ne peut être géré


différemment que le comportement par défaut.
L'arrêt du programme est brutal.

SIGTERM 15 Arrête le processus, mais permet d’effectuer


des opérations avant l’arrêt.
SIGCHLD 17 Informe le père de la mort de son fils

20-11-04 13
Les signaux
• kill -15 PID : demande normale d'arret au processus, il
peut refuser (-15 peut etre remplacé par SIGTERM)
• killall -9 httpd : suppression plus radicale, en cas de
processus récalcitrant ! (Le signal -9 par exemple s'appelle
SIGKILL
• kill $(pidof ypserv) : supprime le processus serveur NIS,
dont le pid est obtenu le résultat de la commande pidof
images/
• killall -HUP httpd : ordonne au processus de relire son
fichier de configuration, ce qui évite de le relancer.
• kill -l : pour connaitre la liste des signaux qu'on peut
passer à kill.
20-11-04 14
Les signaux
• Exemple : déconnecter radicalement
l'utilisateur maseck
• ps aux | grep maseck
---> maseck 858 ............ –bash
• kill -9 858

20-11-04 15
Les signaux
• Pour mémoire, Il existe 64 signaux différents :

1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL


5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ ………………………….

20-11-04 16
Priorités
• Chaque processus a une priorité d’exécution
• Sous linux les priorité vont de –20 à 19
• Plus la valeur est grande plus la priorité est petite
• La commande nice affecte la priorité
• Syntaxe : nice [-n Valeur] [Commande
[Arguments ...]]
• Exemple : nice -10 tar xvzf [Link]
• La commande renice pour changer la priorité

20-11-04 17

Vous aimerez peut-être aussi