Een zombieproces beëindigen in Linux-omgevingen
Summary: Wat is een zombieproces, hoe het te vinden en hoe het te doden of te beëindigen.
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Instructions
Wat is een zombieproces:
Het is een proces dat is geëindigd, maar niet alles wordt onmiddellijk uit het geheugen verwijderd omdat de procesdescriptor in het geheugen blijft.
Wat zou het normale gedrag van een proces moeten zijn:
Wanneer een proces eindigt, wordt de status van het proces
Het bovenliggende proces wordt dan verondersteld de
Hoe een zombie te vinden, processen:
De opdracht uitvoeren
De opdracht uitvoeren
Hoe accumulerende zombieprocessen te beëindigen:
Meestal hebben de zombieprocessen dezelfde bovenliggende proces-ID.
Er zijn twee methoden om het proces te verwijderen:
Het is een proces dat is geëindigd, maar niet alles wordt onmiddellijk uit het geheugen verwijderd omdat de procesdescriptor in het geheugen blijft.
Wat zou het normale gedrag van een proces moeten zijn:
Wanneer een proces eindigt, wordt de status van het proces
EXIT_ZOMBIE en de ouder van het proces op de hoogte wordt gebracht dat het onderliggende proces is overleden met de SIGCHLD signaal.
Het bovenliggende proces wordt dan verondersteld de
wait() voor de systeemaanroep om de afsluitstatus van het dode proces en andere informatie te lezen. Na wait() wordt genoemd, wordt het zombieproces uit het geheugen verwijderd. Dit gebeurt snel, zodat u geen zombieprocessen ziet ophopen op uw systeem. Maar in gevallen waarin we verschillende zombieprocessen zien ophopen, is dit een situatie waarin de programmacode niet efficiënt is.
Hoe een zombie te vinden, processen:
De opdracht uitvoeren
top
De opdracht uitvoeren
ps -ef | grep defunct
Hoe accumulerende zombieprocessen te beëindigen:
Meestal hebben de zombieprocessen dezelfde bovenliggende proces-ID.
Er zijn twee methoden om het proces te verwijderen:
- Verzend de
SIGCHLDsignaal aan het bovenliggende proces.
Dit signaal vertelt het bovenliggende proces om het
wait() Systeem belt en ruimt zijn zombiekinderen op:
kill -s SIGCHLD <PPID>
Voorbeeld:
kill -s SIGCHLD 2201
- Dood het zombie-ouderproces
kill -9 <PPID>
Voorbeeld:
kill -9 2201
Affected Products
Dell OpenManage Enterprise, NetWorker SeriesArticle Properties
Article Number: 000019108
Article Type: How To
Last Modified: 12 Apr 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.