Ero sivun ”Kill” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (Luokka:Prosessienhallinta)
pEi muokkausyhteenvetoa
 
(6 välissä olevaa versiota 4 käyttäjän tekeminä ei näytetä)
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
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
'''kill''' [[komentorivi]]komennon avulla [[prosessi|prosesseille]] (ohjelmille) voidaan lähettää monia niiden toimintaan vaikuttavia [[signaali|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 11:
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]].


== Käyttö ==
===Esimerkkejä===
Suljetaan prosessi 36987 lähettämällä sille [[signaali]] 15 (SIGTERM):
  kill 36987
  kill 36987


Sulkee prosessin 36987 lähettämällä sille signaalin 15 (SIGTERM).
Lähetetään prosessille 6584 signaali 9 (SIGKILL), mikä lopettaa prosessin suorituksen välittömästi:
  kill -9 6584
  kill -9 6584
Lähettää prosessille 6584 signaalin 9 (SIGKILL), mikä lopettaa prosessin suorituksen siihen paikkaan. 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.
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 ==
== Katso myös ==
* [[Killall]]
* [[Killall]]
* [[Pkill]]
* [[Xkill]]
* [[Xkill]]
* [[Pgrep]]
* [[Signaali]]


[[Luokka:Coreutils]]
[[Luokka:Coreutils]]
[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Prosessienhallinta]]
[[Luokka:Prosessienhallinta]]
[[pl:Kill]]

Nykyinen versio 9. helmikuuta 2016 kello 07.54

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

Käyttö[muokkaa]

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ä[muokkaa]

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[muokkaa]