PID 1
PID 1 (en anglais init process) : premier processus d'un namespace de PID ; dans un conteneur, c'est le processus principal, qui ignore les signaux qu'il ne gère pas et doit récupérer les processus orphelins.
Le noyau protège le processus init en ignorant les signaux pour lesquels il n'a pas installé de gestionnaire. Une application en PID 1 qui ne gère pas SIGTERM ne s'arrête donc qu'au SIGKILL. On corrige en gérant le signal dans l'application, en utilisant la forme exec et exec dans les scripts, et éventuellement en intercalant un init minimal comme tini (docker run --init).
Dans les cours
- Docker : les fondamentaux, leçon 3 : L'architecture de Docker
- Docker : les fondamentaux, leçon 6 : Cycle de vie et diagnostic