É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
🖥️ Correction TP2 : fork()
Gestion des Processus avec
Exercice 1 : Création d'un processus fils (Facile)
Correction
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid = fork(); // Création d'un processus fils
if (pid < 0) {
perror("Erreur lors de la création du processus"); // Gestion d'erreur en cas
d'échec de fork
return 1;
}
if (pid == 0) {
// Processus fils
printf("Je suis le processus fils, mon PID est %d et mon parent a pour PID %d\n",
getpid(), getppid());
} else {
// Processus parent
printf("Je suis le processus parent, mon PID est %d et mon fils a pour PID %d\n",
getpid(), pid);
}
return 0;
}
Explication
• fork() crée un processus fils.
• getpid() affiche le PID du processus en cours.
• getppid() affiche le PID du parent.
1/4
TP : Système D’exploitation 2 Durée : 1h30 / Classe : LI1
Enseignant : Ben Khlifa Hamza Année universitaire : 2025-2026
🖥️ Correction TP2 : fork()
Gestion des Processus avec
Exercice 1 : Création d'un processus fils (Facile)
Correction
#include <stdio.h>
#include <unistd.h>
int main() {
pid_t pid = fork(); // Création d'un processus fils
if (pid < 0) {
perror("Erreur lors de la création du processus"); // Gestion d'erreur en cas
d'échec de fork
return 1;
}
if (pid == 0) {
// Processus fils
printf("Je suis le processus fils, mon PID est %d et mon parent a pour PID %d\n",
getpid(), getppid());
} else {
// Processus parent
printf("Je suis le processus parent, mon PID est %d et mon fils a pour PID %d\n",
getpid(), pid);
}
return 0;
}
Explication
• fork() crée un processus fils.
• getpid() affiche le PID du processus en cours.
• getppid() affiche le PID du parent.
1/4