kill

kill

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:


Pavyzdys


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


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


paskutinį kartą redaguota 2009-05-10 13:55:19 redaktoriaus DmitrijAnisin