Linux: 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.
Αυτό το άρθρο ισχύει για
Αυτό το άρθρο δεν ισχύει για
Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν.
Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.
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
Επηρεαζόμενα προϊόντα
SUSE Linux Enterprise Server 12, Red Hat Enterprise Linux Version 7, Red Hat Enterprise Linux Version 9, Red Hat Enterprise Linux Version 8, SUSE Linux Enterprise Server 15, Ubuntu Server LTSΙδιότητες άρθρου
Article Number: 000019108
Article Type: How To
Τελευταία τροποποίηση: 03 Φεβ 2026
Version: 5
Βρείτε απαντήσεις στις ερωτήσεις σας από άλλους χρήστες της Dell
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.