Kill

Linux.fista
Versio hetkellä 31. maaliskuuta 2015 kello 02.40 – tehnyt 213.216.244.213 (keskustelu) (zombien tappaminen)
Siirry navigaatioon Siirry hakuun

Komentorivikomennon kill avulla prosesseille (ohjelmille) voidaan lähettää monia niiden toimintaan vaikuttavia signaaleja. Yleisin käyttökohde on huonosti käyttäytyvien ohjelmien sulkeminen.

Käyttö

Komennon syntaksi on

kill <signaalin numero tai nimi> <prosessin pid>

Mikäli mitään signaalinnimeä tai -numeroa ei ole määritelty, lähetetään signaali 15 (SIGTERM), joka pyytää prosessia sulkemaan itsensä. Listan käytettävissä olevista signaaleista saa komennolla

kill -l

Toimenpiteen kohteena oleva prosessi määritellään sen pid-numeron mukaan. Pid-numeron saa selville esimerkiksi komennolla

ps -A

tai joissakin järjestelmissä myös komennolla

pidof ohjelmannimi

Mikäli et halua erikseen etsiä prosessin pid-numeroa, voit käyttää komentoa killall tai pkill.

Esimerkkejä

Suljetaan prosessi 36987 lähettämällä sille signaali 15 (SIGTERM):

kill 36987

Lähetetään prosessille 6584 signaali 9 (SIGKILL), mikä lopettaa prosessin suorituksen välittömästi:

kill -9 6584

Signaalia 9 saattaa tarvita silloin, kun prosessi ei suostu kuuntelemaan oletussignaalia ja sulkemaan itseään hyvässä järjestyksessä. Muissa tapauksissa signaalin 9 käyttöä tulee välttää. Edes SIGKILL ei tapa zombie-prosessia ja SIGKILL saattaa muuttaa prosessin zombieksi, jos se on jumissa järjestelmäkutsun jumiutumisen takia.

Voit tappaa a zombie-prosessin seuraavalla komentorivikomennolla, mikäli sitä ei muuten saa poistettua.

kill -HUP $(ps -A -ostat,ppid | grep -e '[zZ]'| awk '{ print $2 }')

Katso myös