Prosessien lopettaminen ja lopetetut (zombie-)prosessit (kill, pstree, xkill)

Ensijulkaisu 4. huhtikuuta 2007 • Viimeksi muokattu 8. heinäkuuta 2026 • 1 min lukuaika • 151 sanaa
Joskus tiettyjä prosesseja ei voi lopettaa tavallisella kill -9 PID -komennolla. Kun luetteloi ne komennolla ps -aux, näkyviin tulee merkintä ”defunct”. Nämä ”defunct”-prosessit ovat ilmeisesti edelleen käynnissä lähinnä siksi, että niiden emosovellus odottaa niiden vastaanottavan jotain.
Joskus tiettyjä prosesseja ei voi lopettaa tavallisella kill -9 PID-komennolla. Kun luetteloi ne komennolla ps -aux, näet merkinnän defunct. Nämä defunct-prosessit ovat ilmeisesti edelleen käynnissä lähinnä siksi, että niiden emosovellus odottaa niiden vastaanottavan jotain. Nämä prosessit ovat jo kuolleet, minkä vuoksi niitä kutsutaan ”zombeiksi”. Jotta ne voidaan lopettaa, on ensin lopetettava niiden emosovellus. Voit selvittää emosovelluksen PID:n antamalla komennon pstree PID. Kill-komennolla voi tehdä muutakin kuin lopettaa prosesseja, esimerkiksi terminate, quit, hang up jne. Voit listata sen mahdollisuudet kirjoittamalla kill -l. Voit määrittää kill-komennon toiminnon joko numerolla tai merkkijonolla. Siksi seuraavat kaksi komentoa ovat identtisiä: kill -KILL PID``kill -9 PID. Jos haluat lopettaa kaikki prosessit, joiden lopettamiseen sinulla on oikeus, käytä PID:n sijaan arvoa -1. On selvää, että toiminto on määritettävä merkkijonolla (muuten -1 tulkittaisiin toiminnoksi, jonka kill suorittaa, eli HUP): kill -KILL -1GUI-sovellusten lopettamiseen helposti voit käyttää xkill  . Sinun tarvitsee vain valita hiirellä sen prosessin ikkuna, jonka haluat lopettaa.