Le noyau lance le premier processus de l'espace utilisateur avec le PID 1 dans un espace de noms de PID. Sur un système Linux complet, ce processus init établit l'environnement de services. Dans un conteneur, le PID 1 peut être une petite enveloppe init ou l'application elle-même, mais il conserve des responsabilités particulières concernant les signaux et la récupération des processus enfants.
Démarrer le Système · Leçon 5
Processus de Démarrage : Init
Découvrez comment le PID 1 initialise l'espace utilisateur, supervise les services, récupère les processus enfants et coordonne l'arrêt.
Responsabilités du PID 1
Un système init :
- démarre et supervise généralement les services, les connexions, les montages et d'autres unités de travail ;
- ordonne ces travaux selon leurs dépendances et l'état cible configuré ;
- adopte et récupère les processus enfants orphelins ;
- réagit aux défaillances des services selon la politique définie ;
- coordonne l'arrêt et le redémarrage ordonnés.
La frontière exacte varie. La gestion des périphériques, le réseau, la journalisation et les tâches planifiées peuvent être des programmes distincts supervisés par init plutôt que du code intégré au PID 1.
Quelle responsabilité est propre au PID 1 dans son espace de noms de PID ?
Init System V et niveaux d'exécution
Le sysvinit traditionnel emploie une configuration comme /etc/inittab et des scripts de démarrage et d'arrêt propres à chaque niveau d'exécution. Un niveau d'exécution représente un mode de fonctionnement, mais le sens des niveaux numérotés peut différer selon les distributions. L'ordre des scripts suit des conventions et les outils de la distribution peuvent l'étendre ou le paralléliser.
Ne déduisez pas le système init actif de la seule existence de /etc/init.d/ ; des scripts de compatibilité peuvent subsister alors que le PID 1 appartient à une autre implémentation.
Que représente un niveau d'exécution System V ?
Systèmes fondés sur les événements et les dépendances
Upstart a introduit un modèle de tâches piloté par les événements. Il a été utilisé par d'anciennes versions d'Ubuntu et quelques autres systèmes, mais présente aujourd'hui surtout un intérêt historique ou pour l'exploitation de systèmes anciens.
systemd est très répandu dans les distributions généralistes actuelles. Il modélise les services, sockets, montages, minuteurs, périphériques, cibles et autres ressources comme des unités. Les dépendances déclaratives et les mécanismes d'activation permettent aux travaux indépendants de progresser simultanément tout en respectant l'ordre nécessaire.
Parmi les autres conceptions actives d'init et de supervision figurent OpenRC, runit, s6 et l'init de BusyBox. « Le plus récent » n'est pas une règle de compatibilité utile : identifiez ce qu'exécute réellement le système et consultez sa documentation.
Comment systemd représente-t-il les ressources gérées comme les services et les montages ?
Identifier le système init actif
Inspectez le PID 1 plutôt que de vous fier à des fichiers installés :
$ ps -p 1 -o pid,comm,args=
$ readlink /proc/1/exe
Les permissions, conteneurs et espaces de noms influencent ce que vous voyez. Une commande exécutée dans un conteneur indique le PID 1 de cet espace de noms, pas nécessairement l'init de l'hôte. Une fois le système identifié, utilisez ses outils natifs d'état et de journalisation au lieu de mélanger les commandes de plusieurs familles d'init.
Pourquoi l'inspection du PID 1 est-elle préférable à la recherche d'un ancien répertoire de scripts ?
Leçon terminée
Vous avez terminé Processus de Démarrage : Init
Vous savez maintenant expliquer init comme un rôle plutôt que comme une implémentation obligatoire.
Relier le PID 1 à l'initialisation des services, à la récupération des processus et à l'arrêt.
Reconnaître les niveaux d'exécution System V comme des modes définis par la distribution.
Relier les ressources et dépendances de systemd à des unités.
Inspecter le PID 1 actif dans l'espace de noms concerné avant de choisir les outils.
Conservez votre progression
Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.
Créer un compte gratuit