Linux: Terminazione di un processo zombie negli ambienti Linux
Summary: Che cos'è un processo zombie, come trovarlo e come ucciderlo o terminarlo.
Αυτό το άρθρο ισχύει για
Αυτό το άρθρο δεν ισχύει για
Αυτό το άρθρο δεν συνδέεται με κάποιο συγκεκριμένο προϊόν.
Δεν προσδιορίζονται όλες οι εκδόσεις προϊόντων σε αυτό το άρθρο.
Instructions
Che cos'è un processo zombie:
È un processo che si è concluso, ma non tutto viene immediatamente rimosso dalla memoria poiché il suo descrittore di processo rimane in memoria.
Quale dovrebbe essere il normale comportamento di un processo:
Al termine di un processo, lo stato del processo diventa
Si suppone quindi che il processo padre esegua il
Come trovare un processo
zombie:Esecuzione del comando
Esecuzione del comando
Come terminare l'accumulo di processi zombie:
Nella maggior parte dei casi, i processi zombie hanno lo stesso ID processo padre.
Esistono due metodi per rimuovere il processo:
È un processo che si è concluso, ma non tutto viene immediatamente rimosso dalla memoria poiché il suo descrittore di processo rimane in memoria.
Quale dovrebbe essere il normale comportamento di un processo:
Al termine di un processo, lo stato del processo diventa
EXIT_ZOMBIE e il padre del processo viene informato che il suo processo figlio è morto con il SIGCHLD Segnale.
Si suppone quindi che il processo padre esegua il
wait() per consentire alla chiamata di sistema di leggere lo stato di uscita del processo non attivo e altre informazioni. Dopo wait() viene chiamato, il processo zombie viene rimosso dalla memoria. Ciò avviene rapidamente, in modo da evitare l'accumulo di processi zombie sul sistema. Ma nei casi in cui vediamo l'accumulo di diversi processi zombie, questa è una situazione in cui il codice del programma non è efficiente.
Come trovare un processo
zombie:Esecuzione del comando
top
Esecuzione del comando
ps -ef | grep defunct
Come terminare l'accumulo di processi zombie:
Nella maggior parte dei casi, i processi zombie hanno lo stesso ID processo padre.
Esistono due metodi per rimuovere il processo:
- Invia il
SIGCHLDsegnale al processo padre.
Questo segnale indica al processo padre di eseguire
wait() Chiama il sistema e ripulisci i suoi figli zombie:
kill -s SIGCHLD <PPID>
Esempio:
kill -s SIGCHLD 2201
- Termina il processo padre zombie
kill -9 <PPID>
Esempio:
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
Υπηρεσίες υποστήριξης
Ελέγξτε αν η συσκευή σας καλύπτεται από τις Υπηρεσίες υποστήριξης.