0% ont trouvé ce document utile (0 vote)
53 vues7 pages

TP2 Processus

Ce document présente un TP sur la gestion des processus dans un système d'exploitation Linux, visant à maîtriser les commandes de gestion des processus, à observer les processus en cours et à manipuler ces derniers. Il décrit les caractéristiques des processus, les commandes Shell pertinentes telles que ps, pstree, top et kill, ainsi que des exercices pratiques pour appliquer ces concepts. Les étudiants doivent rédiger un compte-rendu à la fin de la séance, détaillant leurs observations et manipulations.

Transféré par

Yamen Ayari
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)
53 vues7 pages

TP2 Processus

Ce document présente un TP sur la gestion des processus dans un système d'exploitation Linux, visant à maîtriser les commandes de gestion des processus, à observer les processus en cours et à manipuler ces derniers. Il décrit les caractéristiques des processus, les commandes Shell pertinentes telles que ps, pstree, top et kill, ainsi que des exercices pratiques pour appliquer ces concepts. Les étudiants doivent rédiger un compte-rendu à la fin de la séance, détaillant leurs observations et manipulations.

Transféré par

Yamen Ayari
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

Système d’exploitation 21 : Linux-PR 2020-2021

Institut Supérieur des Sciences Appliquées et de Technologie de Sousse


Académie militaire fondok el jedid
Prepa-A2-01 ; Prepa-A2-02 ; Prepa-A2-03 ; Prepa-A2-04 Mme Farah
Enseignante : Amani Bedoui
Braham
LASM 107- 108 Farahbedoui96@[Link]
Mail : [Link]@[Link]

02 : Gestion des processus


TP03

Ce TP a pour objectif de :

 Maîtriser les commandes de gestion des processus.


 Savoir observer les processus s’exécutant sur une machine.
 Manipuler un processus en cours d’exécution.
 Savoir tuer un ou plusieurs processus.

Pour ce TP vous devez rédiger un compte-rendu (nom_prénom_groupe_CTP03.docx)


qui sera envoyé par mail à la fin de la séance. (Précisez dans l’objet : TP03-Prepa-A2-
Groupe)

Rappel et Révision

1. Introduction

On appelle processus un objet dynamique correspondant à l’exécution d’une suite


d’instructions : un programme qui s'exécute, ses données, ainsi que d’autres informations
sur son contexte d’exécution.

Un processus possède les caractéristiques qui permettent au système de l’identifier. Parmi


ces caractéristiques :
 Etat : exécution, suspendu, etc.
 Identifiant du processus.
 Identifiant du processus qui lui a donnée naissance : processus parent.
 Identifiant de l’utilisateur qui l’a lancé.
 Compteur ordinal : indique la prochaine instruction à exécuter.
 Pile d’exécution : mémorise l’empilement des appels de fonction.
 Données en mémoire.
 Etc.

Un processus s’exécute soit en avant-plan (foreground), soit en arrière-plan


(background).

Amani Braham TP03- Système d’exploitation 2 : Linux-PR 1


2. Commandes Shell de gestion de processus :

 La commande ps : $ ps [options]
Permet d’obtenir la liste des processus actifs sur le Shell.

L’option –e donne des informations sur tous les processus en cours et l’option –f permet
d’avoir des informations détaillées sur les processus.

COLONNE DEFINITION
UID Identifiant de l’utilisateur (User ID).
PID Identifiant du processus (Process ID).
PPID Identifiant du processus parent (Parent Process ID).
C Facteur de priorité (plus la valeur est grande plus la priorité
est élevée).
STIME Heure de lancement du processus.
TTY Nom du terminal depuis lequel le processus a été lancé.
TIME Durée de traitement du processus.
CMD Commande exécutée.

L’option –u permet d’obtenir la liste des processus lancés par un utilisateur particulier.

 La commande pstree : $ pstree

Amani Braham TP03- Système d’exploitation 2 : Linux-PR 2


Permet de visualiser l’arborescence des processus.

 La commande top : $ top [options]


Permet de gérer les processus en temps réel (visualisation dynamique des processus).

Dès que top est lancée, il est possible d’exécuter des commandes interactives :
 N : Classer les processus par PID.
 A : Classer les processus dans l’ordre chronologique.
 P : Classer les processus par rapport à leur utilisation CPU.
 M : Classer les processus par rapport à leur utilisation de la mémoire.
 k : Tuer un processus (PID sera demandé).
 q : Quitter l’utilitaire top.

 La commande kill: $ kill [-l] -Num_signal PID [PID2...]

Amani Braham TP03- Système d’exploitation 2 : Linux-PR 3


Permet d’envoyer des signaux à un processus dont on connaît son identifiant. Cette
commande ne sert pas seulement à « tuer » un processus ; on peut lister les signaux
disponible avec la commande kill –l.

SIGNAL DESCRIPTION
SIGSTOP (19) Arrêter un processus.
SIGCONT (18) Continuer un processus arrêté.
SIGTERM (15) Signifier au processus qu’il doit se terminer.
SIGKILL (9) Tuer un processus.

 Commandes pour manipuler les jobs :


Il est possible de démarrer plusieurs processus appelés aussi « jobs ».
& : Démarrer un processus en arrière-plan.

jobs : Afficher la liste des tâches du Shell courant.

fg %n : Relancer l’exécution d’un processus en arrière-plan en un processus en


avant-plan.

Ctrl + Z : Suspendre un job

Amani Braham 2 Système d’exploitation 2 : Linux-PR


TP03- 4
bg %n : Relancer l’exécution d’un processus suspendu en processus en arrière-
plan.

kill %n : Tuer un job.

Pour lancer un processus en arrière-plan, on utilise le symbole &. Lorsqu’on


ferme la console, le processus est arrêté. Pour éviter qu’un processus ne s’arrête
lorsque son parent se termine, on utilise la commande nohup.

 Commande time: $ time


Permet de mesurer les durées d’exécution d’une commande processus et retourner trois
valeurs (real, user, system).

Travail Demandé

A. Exercices de prise en main

1) Lister tous les processus lancés sur le système. Affichez la liste des processus dont vous
êtes propriétaire.
2) a- Lister de nouveau les processus lancés sur le système de façon détaillée.
b- A quoi correspond l’information STIME ?
c- A quelle heure votre machine a-t-elle démarré ?
3) Affichez la hiérarchie des processus s’exécutant sur le système.
4) Quel signal est lancé par défaut à la commande kill?

Amani Braham 2 Système d’exploitation 2 : Linux-PR


TP03- 5
5) Afficher en temps réel les informations sur l’ensemble de processus exécutés sur votre
machine. Quelles informations sont affichées par défaut ?
6) a- Consulter le man de nice et renice. A quoi sert les commandes nice et renice?
b- La commande top consomme des ressources. Faites en sorte que sa priorité soit de
« 19 ».
7) a- Consulter le man de ps. A quoi sert cette commande ? Placer le processus en arrière-
plan sans le terminer.
b- Consulter le man de kill. A quoi sert cette commande ? Placer le processus en arrière-
plan sans le terminer.
c- Lister les tâches lancées par le Shell.
d- Réafficher le man de ps.
e- Ouvrez un deuxième terminal et envoyez le signal SIGKILL au processus affichant
le man de ps.
f- Retourner dans le premier terminal, lister les tâches lancées par le Shell, et réactiver
le man de kill.

B. Exercices avancés

Exercice 1

1) Dans un système Linux, quel est le processus qui n’a pas un père ? Préciser son PID.
2) Utiliser la commande ps et trouver le PID du processus acpid.
3) Utiliser la commande pstree pour trouver le PID du processus acpid et le nom de son
processus père.
4) Consulter la documentation de la commande yes. A quoi sert cette commande ?
5) Lancer la commande: $ yes “Good morning, my name is yourname !”.
6) Pendant l’exécution de la commande yes, lancer la commande top dans un autre
terminal. Quels sont les processus qui consomment le plus le CPU ?

Exercice 2

1) a- Lancer les commandes sleep 4444, sleep 3333 et sleep 2222 en arrière-plan.
b- Que signifie ce qui est retourné à l’écran ?
2) Afficher la liste des tâches en cours.
3) Que signifient les caractères + et - dans la liste précédente ?
4) Lancer la commande sleep 1111 en avant-plan.
5) Interrompre le processus en avant plan en utilisant Ctrl+Z. Quel est le numéro de travail
du processus interrompu ?

Amani Braham 2 Système d’exploitation 2 : Linux-PR


TP03- 6
6) Afficher à nouveau la liste des tâches en cours.
7) Relancer en arrière-plan la dernière commande sleep.
8) Arrêter l’exécution de la première commande sleep en utilisant son numéro de travail.
9) Afficher à nouveau la liste des tâches en cours.
10) Arrêter l’exécution de la deuxième commande sleep en utilisant son PID.
11) Afficher à nouveau la liste des tâches en cours.
12) Passer en avant-plan les dernières commandes sleep et arrêter l’exécution de ces
commandes.
13) Afficher à nouveau la liste des tâches en cours.

Exercice 3

1) Lancer la commande xeyes.


2) Pouvez-vous exécuter une autre commande dans le même Shell ? Justifiez.
3) Suspendre l’application xeyes.
4) Ramener l’application en avant-plan.
5) Suspendre à nouveau l’application xeyes.
6) Continuer l’exécution de l’application xeyes tournant en arrière-plan.
7) Pouvez-vous exécuter une autre commande dans le même Shell ? Justifiez.
8) Lancer la commande gedit en avant-plan. Fermer la fenêtre de l’interpréteur de
commandes à partir de laquelle l’application est lancée. Que se passe-t-il ?
9) Lancer la commande gedit en arrière-plan. Fermer la fenêtre de l’interpréteur de
commandes à partir de laquelle l’application est lancée. Que se passe-t-il ?
10) Comment faire pour éviter qu’un processus ne s’arrête lorsque son parent se termine ?
Tester avec la commande gedit.

Amani Braham 2 Système d’exploitation 2 : Linux-PR


TP03- 7

Vous aimerez peut-être aussi