Locked History Actions

Skirtumas „kill“

Pakeitimai tarp versijų 13 ir 14
Versija 13 nuo 2009-05-10 12:41:23
Dydis: 2813
Redaktorius: DmitrijAnisin
Komentaras:
Versija 14 nuo 2009-05-10 12:46:46
Dydis: 2831
Redaktorius: DmitrijAnisin
Komentaras:
Pašalinimai yra pažymėti taip. Pridėjimai yra pažymėti taip.
Eilutė 41: Eilutė 41:

{{{
kill
}}}

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

kill


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