Ero sivun ”Kill” versioiden välillä
Pb (keskustelu | muokkaukset) p (Luokka:Prosessienhallinta) |
Pb (keskustelu | muokkaukset) p (väliotsikko, selitykset ennen esimerkkejä) |
||
Rivi 1: | Rivi 1: | ||
[[Komentorivi]]komennon kill avulla [[prosessi|prosesseille]] (ohjelmille) voidaan lähettää monia niiden toimintaan vaikuttavia signaaleja. Yleisin käyttökohde on huonosti käyttäytyvien ohjelmien sulkeminen. Komennon syntaksi on | [[Komentorivi]]komennon kill avulla [[prosessi|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> | 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 | 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 | ||
Rivi 7: | Rivi 10: | ||
tai joissakin järjestelmissä myös komennolla | tai joissakin järjestelmissä myös komennolla | ||
[[pidof]] ohjelmannimi | [[pidof]] ohjelmannimi | ||
Mikäli et halua erikseen etsiä prosessin pid-numeroa, voit käyttää komentoa [[killall]]. | 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 | kill 36987 | ||
Lähetetään prosessille 6584 signaali 9 (SIGKILL), mikä lopettaa prosessin suorituksen välittömästi: | |||
kill -9 6584 | 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. | |||
== Katso myös == | == Katso myös == | ||
* [[Killall]] | * [[Killall]] | ||
* [[Pkill]] | |||
* [[Xkill]] | * [[Xkill]] | ||
* [[Pgrep]] | |||
[[Luokka:Coreutils]] | [[Luokka:Coreutils]] | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
[[Luokka:Prosessienhallinta]] | [[Luokka:Prosessienhallinta]] |
Versio 25. heinäkuuta 2009 kello 18.06
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.