Locked History Actions

Skirtumas „kill“

Pakeitimai tarp versijų 15 ir 17 (patvirtinamos 2 versijos)
Versija 15 nuo 2009-05-10 12:49:18
Dydis: 2895
Redaktorius: DmitrijAnisin
Komentaras:
Versija 17 nuo 2009-05-10 12:51:15
Dydis: 3109
Redaktorius: DmitrijAnisin
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 41: Eilutė 41:
----
 /!\ '''Edit conflict - other version:'''
Eilutė 42: Eilutė 44:
----
Eilutė 43: Eilutė 46:
kill -9 2549 //išjungiame tekstinio redaktoriaus ''nano'' procesą kill -9 2549 //išjungiame tekstinio redaktoriaus procesą

---- /!\ '''Edit conflict - your version:''' ----
{{{
kill -9 2549 //išjungiame tekstinio redaktoriaus nano procesą;

---- /!\ '''End of edit conflict''' ----

Komanda

kill

OS

Linux, BSD


Apibūdinimas

kill – Linux komanda, perduodanti signalą procesui. Ši komanda gali priverstinai sustabdyti procesą ir pakeisti jo prioritetą.


Paaiškinimai

Procesai Linux OS gali keistis taip vadinamais „signalais“ su branduoliu ir kitais procesais. Kai procesas gauna signalą, valdymas perduodamas jo apdorojimo paprogramei arba branduoliui, jei tokios paprogramės nėra. Komanda kill leidžia perduoti pasirinktam procesui bet kokį signalą. Signalų sąrašą galima gauti įvedus tokią komandą: kill –l. Tam, kad pasirinktam procesui būtų nusiųstas signalas, reikia įvesti: kill –[signalo Nr.] [pasirinkto proceso PID].

Pavyzdžiui, norime nutraukti grafinės failų naršyklės „Midnight Commander“ (mc) darbą. Sužinome proceso mc identifikatorių: ps –A | grep mc, PID=2742. Siunčiame SIGQUIT (Nr. 3) signalą: kill -3 2742. Procesas mc apdoros SIGQUIT signalą ir baigs savo darbą. Tačiau, jeigu mc „pakibo“, jis negalės būti užbaigtas, kadangi SIGQUIT signalo apdorojimo paprogramė negaus valdymo. Todėl naudojamas signalas Nr. 9 (SIGKILL), apdorojamas OS branduolio, ir priverstinai užbaigiantis nurodytą procesą: kill -9 2742.

Jeigu signalas nenurodytas, siunčiamas SIGTERM signalas. Jis užbaigs tuos procesus, kurie neapdoroja šio signalo. Tačiau kai kuriems procesams užbaigti būtinas tik SIGKILL signalas, kadangi jo negalima perimti.

Norint užbaigti sustabdytus procesus, kurie matomi surinkus komandą jobs, reikia surinkti komandą: kill %[proceso Nr.]

Sintaksė:

kill [ -s signal | -p ] [ -a ] [ -- ] pid ...

kill -l [ signal ]

Parametrai:

  • pid... – nurodyti procesų, kuriems komanda kill turi perduoti signalą, identifikatorių sąrašą. Kiekvienas pid argumentas turi būti proceso numeriu arba pavadinimu;

  • -s – nurodyti siunčiamą signalą. Nurodomas signalo pavadinimas arba numeris;

  • -p – nurodo, kad komanda kill turi išvesti procesų su pavadinimais identifikatorius, tačiau nesiusti jiems signalo;

  • -l – išveda signalų pavadinimų sąrašą. Šiuos pavadinimai taip pat saugomi faile /usr/include/linux/signal.h


Pavyzdys


  • /!\ Edit conflict - other version:


kill -9 2549 //išjungiame tekstinio redaktoriaus  procesą

---- /!\ '''Edit conflict - your version:''' ----
{{{
kill -9 2549 //išjungiame tekstinio redaktoriaus nano procesą;

---- /!\ '''End of edit conflict''' ----


Naudota literatūra

1. http://en.wikipedia.org/wiki/Kill_(command)

2. http://www.computerhope.com/unix/ukill.htm

3. http://linuxland.itam.nsc.ru/book/unix09/kill/index.html