Een zombieproces beëindigen in Linux-omgevingen
Resumen: Wat is een zombieproces, hoe het te vinden en hoe het te doden of te beëindigen.
Este artículo se aplica a
Este artículo no se aplica a
Este artículo no está vinculado a ningún producto específico.
No se identifican todas las versiones del producto en este artículo.
Instrucciones
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
Productos afectados
Dell OpenManage Enterprise, NetWorker SeriesPropiedades del artículo
Número del artículo: 000019108
Tipo de artículo: How To
Última modificación: 12 abr 2025
Versión: 4
Encuentre respuestas a sus preguntas de otros usuarios de Dell
Servicios de soporte
Compruebe si el dispositivo está cubierto por los servicios de soporte.