École Supérieure des Sciences et de la Technologie de Hammam Sousse
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
🖥️ TP2 : Gestion des Processus avec fork()
Objectif
L'objectif de ce TP est de comprendre et manipuler la gestion des processus sous Linux en utilisant les appels
système fork(), getpid(), getppid(), wait(), et waitpid(). Vous allez apprendre à créer des
processus, à gérer leur exécution et à synchroniser leur terminaison.
🔎 Rappel sur les processus et les fonctions utilisées
Le processus et son identifiant (PID)
Un processus est une instance en cours d'exécution d'un programme. Chaque processus possède un identifiant
unique appelé PID (Process ID), qui est attribué par le système d'exploitation.
Les types et fonctions clés
• pid_t : Type de données utilisé pour représenter un identifiant de processus.
• fork() : Crée un nouveau processus fils qui est une copie du processus parent.
• getpid() : Retourne le PID du processus appelant.
• getppid() : Retourne le PID du parent du processus appelant.
• wait() : Permet au parent d'attendre la fin d'un de ses processus fils.
• waitpid(pid_t pid, int *status, int options) : Permet d'attendre la fin d'un
processus fils spécifique.
Exercice 1 : Création d'un processus fils (Facile)
Énoncé
Réaliser un programme en langage C qui crée un processus fils à l'aide de fork(). Le processus parent et le
processus fils devront afficher leurs PID respectifs.
Instructions
1. Utiliser fork() pour créer un processus fils.
2. Afficher les PID du parent et du fils avec getpid() et getppid().
3. Compiler et exécuter le programme.
1/2
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
🖥️ TP2 : Gestion des Processus avec fork()
Objectif
L'objectif de ce TP est de comprendre et manipuler la gestion des processus sous Linux en utilisant les appels
système fork(), getpid(), getppid(), wait(), et waitpid(). Vous allez apprendre à créer des
processus, à gérer leur exécution et à synchroniser leur terminaison.
🔎 Rappel sur les processus et les fonctions utilisées
Le processus et son identifiant (PID)
Un processus est une instance en cours d'exécution d'un programme. Chaque processus possède un identifiant
unique appelé PID (Process ID), qui est attribué par le système d'exploitation.
Les types et fonctions clés
• pid_t : Type de données utilisé pour représenter un identifiant de processus.
• fork() : Crée un nouveau processus fils qui est une copie du processus parent.
• getpid() : Retourne le PID du processus appelant.
• getppid() : Retourne le PID du parent du processus appelant.
• wait() : Permet au parent d'attendre la fin d'un de ses processus fils.
• waitpid(pid_t pid, int *status, int options) : Permet d'attendre la fin d'un
processus fils spécifique.
Exercice 1 : Création d'un processus fils (Facile)
Énoncé
Réaliser un programme en langage C qui crée un processus fils à l'aide de fork(). Le processus parent et le
processus fils devront afficher leurs PID respectifs.
Instructions
1. Utiliser fork() pour créer un processus fils.
2. Afficher les PID du parent et du fils avec getpid() et getppid().
3. Compiler et exécuter le programme.
1/2