web-dev-qa-db-fra.com

Comment trouver la cause du processus zombie?

J'essaie d'enquêter sur un processus zombie.

Lorsqu'un processus meurt sous Linux, il n'est pas tout supprimé immédiatement de la mémoire - son descripteur de processus reste en mémoire (le descripteur de processus ne prend qu'une petite quantité de mémoire). Le statut du processus devient EXIT_ZOMBIE et le parent du processus est informé que son processus enfant est mort avec le signal SIGCHLD. Le processus parent est alors censé exécuter l'appel système wait () pour lire le statut de sortie du processus mort et d'autres informations. Cela permet au processus parent d’obtenir des informations à partir du processus mort. Une fois que wait () est appelé, le processus zombie est complètement supprimé de la mémoire.

Cela se produit normalement très rapidement, vous ne verrez donc pas d’accumulation de processus zombies sur votre système. Cependant, si un processus parent n’est pas programmé correctement et n’appelle jamais wait (), ses enfants zombies resteront en mémoire jusqu’à ce qu’ils soient nettoyés.

Source: https://www.howtogeek.com/119815/htg-explains-what-is-a-zombie-process-on-linux/

Il est présent après chaque redémarrage ou démarrage.

andy      1235  0.0  0.0      0     0 ?        Z    07:25   0:00 [xbrlapi] <defunct>

L'identifiant du processus est 1235.

Y a-t-il un moyen de déterminer quel processus ou programme en est la cause?

2
fixit7

De ce qui est probablement votre sortie top: xbrlapi

Logiciel d'accès pour un aveugle utilisant un afficheur braille - xbrlapi

Cela semble être la cause.

2
DK Bose