![](https://seccdn.libravatar.org/avatar/1cedef5decfefad6d5538652df89e6fc.jpg?s=120&d=mm&r=g)
Am Samstag, 30. Dezember 2023, 11:00:18 CET schrieb Manfred Haertel, DB3HM:
Herbert Albert schrieb:
Es laufen ja per se nvidia Prozesse nur der Zombie wird anscheinend erst dann beim graphischen Login gestartet, wenn die Datei ".nvidia-settings-rc" im $HOME des Users liegt.
Jetzt muss ich mich doch mal einmischen.
Zombies werden nicht gestartet. :-)
Ein Zombie ist - wie der Name schon sagt - ein "untoter" Prozess, d.h. einer, der seine Arbeit bereits getan hat und sich eigentlich beenden möchte, aber seinen Exit-Code nicht los wird. Und das passiert deswegen, weil sich der Parent-Prozess nicht für den Exit-Code seines "Kindes" interessiert. Er muss dazu einen System-Call aus der wait()-Familie ausführen.
Das entstehen von Zombie-Prozessen ist also praktisch immer auf Programmierfehler zurück zu führen, aber nicht in dem Zombie-Prozess selbst, sondern genau im Parent-Prozess.
Ein Zombie-Prozess verbraucht auch kaum noch Resourcen (außer der PID
:-) ). Er ist eher ein ästhetisches Problem als ein technisches.
Los werden kann man ihn eigentlich nur, indem man alle Parent-Prozesse (also Vater, Großvater usw.) tötet, so lange bis irgendein Prozess, der nunmehr zum Vater des Zombies geworden ist, wait()-Aufrufe macht. Irgendwann ist man beim init-Prozess angekommen, der macht regelmäßig wait() und der Zombie ist weg.
Man kann aber den Zombie auch ignorieren. Irgendwann wird der Programmierfehler sowieso behoben. danke für die Aufklärung.