Procesu informācijas iegūšana
Nereaģējošā procesa iegūšana ir pirmais solis tā nogalināšanā. Informāciju par procesu mēs varam iegūt, izmantojot divas komandas, t.e., top un ps. Lai skatītu darbojošos procesu sarakstu, komandrindā ierakstiet top:
$ topOr
$ ps
Dažas būtiskas detaļas atradīsit terminālā. Piemēram, iedomājieties situāciju, kad ar lietojumprogrammu saistītais process vairs nereaģē. Mūsu gadījumā ir četri lietojumprogrammu gadījumi, kas darbojas ar procesa ID (PID) 5441, 3870, 5062 un 3637, 4233, 770, 3787, saskaņā ar mūsu augšējo komandu displeju.
Lai gan tops ir ārkārtīgi noderīgs, tas ne vienmēr ir visefektīvākais informācijas iegūšanas veids. Tagad ļaujiet mums teikt, ka jums ir jāiznīcina lietojumprogrammu procesi, taču jūs nevēlaties iegūt reāllaika informāciju no augšējās komandas. šajā scenārijā varat izmantot komandu ps. Turklāt mēs varam filtrēt izvadi, izmantojot komandu grep. Mēs esam ieinteresēti uzskaitīt tikai ar lietojumprogrammu saistītos procesus. Izmantojiet tālāk sniegto komandu, lai skatītu ar lietojumprogrammu saistītos procesus:
$ ps aux | grep lietojumprogrammaTā kā,
a = Parādīt visus ar lietotāju saistītos procesus
u = Parādīt procesa īpašnieku / lietotāju.
x = Parādīt visus procesus, kas nav saistīti ar termināli
Grep izdrukā līnijas, kas atbilst paraugam, bet ps atgriež pašreizējā procesa momentuzņēmumu. Grep izmantošanas iemesls, lai filtrētu ps, ir vienkāršs: ja pats palaižat ps, jūs saņemsit visu notiekošo procesu momentuzņēmumu.
Parādīt signālu sarakstu:
Ierakstiet kill -l, lai parādītu visu signālu sarakstu. Mēs varam nosūtīt dažādus signālus ar komandu kill.
Mēs varam izvēlēties jebkuru signālu no doto signālu saraksta.
$ kill -l
Ir daži izplatīti nogalināšanas signāli:
Signālu nosaukums Signāla vērtība Efekts
1. SIGHUP Pārtrauciet klausuli2. SIGINT Pārtrauciet, izmantojot tastatūru
SIGKILL 9 nogalināšanas signāls
15. SIGTERM Pārtraukšanas signāls
SIGSTOP 17, 19, 23 Pārtraukt procesu
Nogalināt procesus pēc ID:
Tātad, izmantosim komandu kill, lai izbeigtu mūsu lietojumprogrammu. Sintakse būtu šāda:
Nogalināt signālu PIDNosūtiet slepkavības signālu, lai nogalinātu 4129 procesus:
Nogalināt -9 4124
Nosūtiet signālu, lai apturētu 5427 procesus:
Nogalināt -1 5427
Nosūtiet signālu, lai pārtrauktu procesu 5250 no tastatūras:
Nogalināt -2 5250
Nogalināšanas process pēc nosaukuma:
Ja vēlaties nogalināt visus procesus, kas darbojas lietojumprogrammā. Izmantojiet komandu killall:
$ killall -9 lietojumprogramma
Visi lietojumprogrammā notiekošie procesi ir veiksmīgi nogalināti.
Secinājums:
Pirms jebkuru Linux procesu nogalināšanas, vispirms mums jāredz visu notiekošo procesu saraksts, lai iegūtu procesa ID. Mēs varam izmantot vairākus signālus ar komandu kill, turpretī katrs signāls tiek izmantots noteiktam mērķim.