À retenir
- Le fils possède son propre identifiant unique (le PID).
- Il est créé à partir d'une copie ou d'une extension du processus père.
- S'il perd son père, il devient un « orphelin » et est adopté par le processus racine du système.
Un processus fils est une tâche informatique créée et lancée par un autre programme, appelé « processus père ». C'est un peu comme un employé à qui un manager confie une mission spécifique : le fils travaille de son côté tout en restant sous la supervision indirecte de celui qui l'a lancé.
Étymologie
Calque de l'anglais child process. Cette terminologie familiale est utilisée depuis les débuts des systèmes multitâches (comme Unix dans les années 1970) pour décrire la hiérarchie et la dépendance lors de l'exécution des logiciels.
Exemples d'usage
- Un navigateur web qui crée un processus fils pour chaque onglet ouvert afin d'éviter que tout le logiciel ne plante si une seule page web rencontre une erreur.
- Un serveur de fichiers qui lance un nouveau processus fils pour chaque utilisateur qui se connecte afin de traiter les demandes en parallèle.
Cas d'usage
Ce concept est utilisé dans les systèmes d'exploitation pour permettre le multitâche, l'isolation des ressources (sécurité) et la répartition des calculs sur plusieurs cœurs de processeur.
Bonnes pratiques
Il est crucial que le processus père récupère le signal de fin de ses fils. Si un fils se termine mais que le père ne reconnaît pas sa fin, le fils reste dans le système sous forme de « processus zombie », ce qui peut finir par saturer les ressources si cela se répète trop souvent.
Synonymes
Antonymes
Conseil
Pour bien comprendre ce concept, visualisez l'« arbre des processus » de votre ordinateur (avec le Moniteur d'activité sous macOS ou le Gestionnaire des tâches sous Windows) : vous verrez que presque tous les programmes sont les fils d'un autre programme plus global.
Questions fréquentes
Quelle est la différence avec un thread ?
Un processus fils a son propre espace mémoire bien séparé, ce qui est plus sûr, alors que les threads partagent la même mémoire, ce qui est plus rapide mais plus risqué en cas d'erreur.
Comment un fils communique avec son père ?
Ils utilisent des mécanismes appelés IPC (Inter-Process Communication), comme des tubes (pipes) ou des signaux.