Forum / Sujet
RÉSOLU

Problème de 'Zombie Processes' dans un container Python

zbruneau

Membre depuis le 11/04/2024

yo, j'ai remarqué un truc bizarre sur mon serveur de prod. j'ai un container qui tourne depuis une semaine et quand je fais un `docker top`, je vois des centaines de process `[python] `. ça finit par bouffer toute la table des pid et je peux plus rien lancer sur la machine

PID    USER      TIME  COMMAND
1      root      0:05  python main.py
42     root      0:00  [python] 
43     root      0:00  [python] 

pourtant mon script fait juste des appels subprocess classiques...

Commentaires

isaac92

Membre depuis le 24/07/2024

c'est parce que ton script python tourne en PID 1 et il sait pas 'récolter' (reap) les process fils qui se terminent. ils restent en état zombie

delmas-zoe

Membre depuis le 26/11/2024

exact. le PID 1 a un rôle spécial sous Linux. utilise `tini` comme init process dans ton Dockerfile, il va gérer les signaux et le nettoyage des zombies à ta place

# installe tini et change l'entrypoint
entrypoint ["/sbin/tini", "--", "python", "main.py"]

zbruneau

Membre depuis le 11/04/2024

ajouté tini et effectivement tous les process defunct disparaissent direct après exécution. propre !

Laisser une réponse

Vous devez être connecté pour poster un message !

Rejoindre la communauté

Recevoir les derniers articles gratuitement en créant un compte !

S'inscrire