Zombies einsammeln

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Zombies einsammeln
Ich les hier die ganze Zeit was von “Zombies einsammeln”. Jetzt kommt meine Frage: was ist damit gemeint :wand:
muss ich in dem timed einen Signalhandler installieren, nur um die Zombies “einzusammeln”, und wenn ja, welchen Befehl benutze ich dazu. Danke.


ja musst du,
Dabei geht es darum, dass wenn du mit fork einen neuen Prozess erzeugt und dieser terminiert noch Informationen im Betriebssystem ueber den Prozess liegen bleiben. Da der Platz fuer Prozesse (“lebendige” und “tote” (=terminierte)) nur begrenzt ist muessen diesen Prozessleichen (=Zombies) beseitigt werden, was umgangssprachlich mit “einsammeln” bezeichnet wird.

das “einsammeln” geht mit wait oder waitpid, am besten in einem childhandler fuer sigchld, allerdings muss man dann unbedingt aufpassen, dass trotz unterbrochener Systemcalls das Programm noch das tut, was es soll.