Linux: Zombie-prosessin lopettaminen Linux-ympäristöissä
Summary: Mikä on zombiprosessi, miten se löydetään ja miten se tapetaan tai lopetetaan.
Acest articol se aplică pentru
Acest articol nu se aplică pentru
Acest articol nu este legat de un produs specific.
Acest articol nu acoperă toate versiunile de produs existente.
Instructions
Mikä on zombie-prosessi:
Se on prosessi, joka päättyi, mutta kaikkea sitä ei poisteta välittömästi muistista, koska sen prosessikuvaaja pysyy muistissa.
Mikä pitäisi olla prosessin normaali käyttäytyminen:
Kun prosessi päättyy, prosessin tilaksi tulee
Pääprosessin on sitten suoritettava
Kuinka löytää zombie-prosessit:
Komennon suorittaminen
Komennon suorittaminen
Kuinka lopettaa kertyvät zombiprosessit:
Suurimman osan ajasta zombie-prosesseilla on sama pääprosessitunnus.
Prosessi voidaan poistaa kahdella tavalla:
Se on prosessi, joka päättyi, mutta kaikkea sitä ei poisteta välittömästi muistista, koska sen prosessikuvaaja pysyy muistissa.
Mikä pitäisi olla prosessin normaali käyttäytyminen:
Kun prosessi päättyy, prosessin tilaksi tulee
EXIT_ZOMBIE ja prosessin vanhemmalle ilmoitetaan, että sen lapsiprosessi on kuollut SIGCHLD Signaali.
Pääprosessin on sitten suoritettava
wait() järjestelmäkutsu lukee kuolleen prosessin poistumistilan ja muita tietoja. Jälkeen wait() kutsutaan, zombie-prosessi poistetaan muistista. Tämä tapahtuu nopeasti, joten et näe zombie-prosessien kertymistä järjestelmääsi. Mutta tapauksissa, joissa näemme useita zombie-prosesseja kertyvän, tämä on tilanne, jossa ohjelmakoodi ei ole tehokas.
Kuinka löytää zombie-prosessit:
Komennon suorittaminen
top
Komennon suorittaminen
ps -ef | grep defunct
Kuinka lopettaa kertyvät zombiprosessit:
Suurimman osan ajasta zombie-prosesseilla on sama pääprosessitunnus.
Prosessi voidaan poistaa kahdella tavalla:
- Lähetä
SIGCHLDsignaali vanhemmalle prosessille.
Tämä signaali käskee emoprosessia suorittamaan
wait() System Call ja siivoa sen zombilapset:
kill -s SIGCHLD <PPID>
Esimerkki:
kill -s SIGCHLD 2201
- Tapa zombie-vanhemman prosessi
kill -9 <PPID>
Esimerkki:
kill -9 2201
Produse afectate
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 LTSProprietăți articol
Article Number: 000019108
Article Type: How To
Ultima modificare: 03 feb. 2026
Version: 5
Găsiți răspunsuri la întrebările dvs. de la alți utilizatori Dell
Servicii de asistență
Verificați dacă dispozitivul dvs. este acoperit de serviciile de asistență.