Kako ubiti procese z uporabo Linuxa

Večino časa boste želeli končati program z lastnimi sredstvi ali, če gre za grafično aplikacijo, z uporabo ustrezne možnosti menija ali z uporabo križa v kotu.

Vsak tako pogosto se bo program obesil, v tem primeru boste potrebovali metodo za njegovo uničenje. Morda boste tudi želeli ubiti program, ki se izvaja v ozadju, ki ga ni več potrebno zagnati.

Ta priročnik vsebuje metodo za ubijanje vseh različic iste aplikacije, ki se izvajajo v vašem sistemu.

Kako uporabljati ukaz killall

Ukaz killall ubije vse procese po imenu. To pomeni, da če imate tri različice istega programa, ki vodijo, bo ukaz killall ubil vse tri.

Na primer, odprite majhen program, kot je pregledovalnik slik. Zdaj odprite novo kopijo istega pregledovalnika slik. Za svoj primer sem izbral Xviewer, ki je klon Eye of Gnome .

Zdaj odprite terminal in vnesite naslednji ukaz:

killall

Na primer, če želite uničiti vse primere tipa Xviewer, vnesite naslednje:

killall xviewer

Obe instanci programa, ki ste jih izbrali za ubijanje, se zdaj zaprejo.

Ubij natančen proces

killall lahko povzroči čudne rezultate. No, tukaj je eden od razlogov, zakaj. Če imate ime ukaza, ki je daljši od 15 znakov, bo ukaz killall delal le na prvih 15 znakov. Če imate torej dva programa, ki imajo enake prvih 15 znakov, sta oba programa preklicana, čeprav ste jo želeli ubiti samo.

Če želite preklopiti na to, lahko določite naslednje stikalo, ki bo ubilo samo datoteke, ki ustrezajo točnemu imenu.

killall-e

Prezrt primer pri programih za ubijanje

Če želite zagotoviti, da ukaz killall ne upošteva primera imena programa, ki ga navedete, uporabite ta ukaz:

killall -I
killall - igranje iger

Uniči vse programe v isti skupini

Ko zaženete ukaz, kot je naslednji, bo ustvaril dva postopka:

ps -ef | manj

En ukaz je za del ps -ef, ki navaja vse teče procese v vašem sistemu in izhod je usmerjen v manj ukaz .

Oba programa pripadata isti skupini, ki je bash.

Če želite oba programa ubiti hkrati, lahko zaženete naslednji ukaz:

killall -g

Na primer, če želite ubiti vse ukaze, ki se izvajajo v bash shell, naredite naslednje:

killall-g bash

Mimogrede, da bi navedli vse tekoče skupine, zaženite naslednji ukaz:

ps -g

Pridobi potrditev pred programi za uničenje

Očitno je, da je ukaz killall precej močan ukaz in ne želite naključno ubiti napačnih procesov.

Z uporabo naslednjega stikala vas vpraša, ali ste prepričani, preden je vsak uničen.

killall -i

Ubijte procese, ki so potekali za določen čas

Predstavljajte si, da vodite program in traja veliko dlje, kot ste upali.

Ukaz lahko ubijete na naslednji način:

killall-o h4

H v zgornjem ukazu je ure.

Določite lahko tudi eno od naslednjih možnosti:

Druga možnost je, če želite ubiti ukaze, ki so šele začeli teči, lahko uporabite naslednje stikalo:

killall -y h4

Tokrat bo ukaz killall ubil vse programe, ki se izvajajo manj kot 4 ure.

Ne povej mi, ko proces ni bil ubit

Privzeto, če poskusite ubiti program, ki se ne izvaja, boste prejeli naslednje napako:

ime programa: ni najden noben postopek

Če ne želite povedati, če proces ni bil najden, uporabite ta ukaz:

killall -q

Uporaba rednih izrazov

Namesto določitve imena programa ali ukaza lahko določite regularni izraz, tako da se vsi procesi, ki se ujemajo z regularnim izrazom, zaprejo z ukazom killall.

Če želite uporabljati regularni izraz, uporabite ta ukaz:

killall -r

Ubijte programe za določite uporabnika

Če želite ubiti program, ki ga upravlja določen uporabnik, lahko navedete naslednji ukaz:

killall -u

Če želite ubiti vse procese za določenega uporabnika, lahko izpustite ime programa.

Počakajte Za killall Za dokončanje

Privzeto se bo killall vrnil naravnost nazaj v terminal, ko ga zaženete, vendar lahko sile killall počakate, dokler niso zaprti vsi navedeni postopki, preden ste se vrnili v terminalsko okno.

V ta namen zaženite naslednji ukaz:

killall -w

Če program nikoli ne umre, bo tudi killall še naprej živel.

Signali Signali Signali

Privzeto ukaz killall pošlje signal SIGTERM programom, da se jih zapre, in to je najčistejša metoda za uničenje programov.

Obstajajo pa še drugi signali, ki jih lahko pošljete z ukazom killall in jih lahko dodate po naslednjem ukazu:

killall -l

Vrnjeni seznam bo nekaj takega:

Ta seznam je zelo dolg. Če želite prebrati, kaj pomenijo ti signali, sledite naslednjim ukazom:

človek 7 signal

Na splošno bi morali uporabiti privzeto možnost SIGTERM, če pa program ne želi umreti, lahko uporabite program SIGKILL, ki prisili program, da se zapre, čeprav na nepopustljiv način.

Drugi načini za ubijanje programa

Obstaja še 5 drugih načinov, kako ubiti aplikacijo Linux, kot je označeno v povezanem vodniku.

Vendar, če si želite prihraniti napor, da kliknete povezavo tukaj, je razdelek, ki prikazuje, kaj so ti ukazi, zakaj lahko uporabite te ukaze nad killall.

Prvi je ukaz kill. Ukaz killall, kot ste videli, je super za ubijanje vseh različic istega programa. Ukaz kill je namenjen ubijanju enega procesa hkrati in je zato bolj usmerjen.

Če želite zagnati ukaz kill, morate poznati identifikacijsko številko postopka procesa, ki ga želite ubiti. Za to lahko uporabite ukaz ps .

Na primer, če želite najti zagnano različico Firefoxa, lahko zaženete naslednji ukaz:

ps -ef | grep firefox

Na koncu boste videli vrstico podatkov z ukazom / usr / lib / firefox / firefox. Na začetku vrstice boste videli ID uporabnika in številko, potem ko je uporabniški ID ID procesa.

Z uporabo ID-ja procesa lahko uničite Firefox tako, da zaženete naslednji ukaz:

ubiti -9

Drug način ubijanja programa je z ukazom xkill. To se običajno uporablja za ubijanje grafičnih aplikacij, ki se ne ponovijo.

Če želite uničiti program, kot je Firefox, odprite terminal in zaženite naslednji ukaz:

xkill

Kazalec se bo zdaj spremenil v velik bel krst. Premaknite kurzor nad okno, ki ga želite ubiti, in kliknite z levo miškino tipko. Program bo takoj zapustil.

Drug način ubijanja postopka je z uporabo ukaza top top Linux. V zgornjem ukazu so navedeni vsi procesi v vašem sistemu.

Vse, kar morate storiti, da ubijete postopek, je pritisnjeno tipko "k" in vnesite ID procesa aplikacije, ki jo želite ubiti.

Prej v tem poglavju ukaz kill in zahteval, da najdete postopek z ukazom ps in nato ubijte postopek z ukazom kill.

To ni najpreprostejša možnost na kakršen koli način.

Za eno stvar, ukaz ps ponovi veliko informacij, ki jih ne potrebujete. Vse, kar ste hoteli, je bila identifikacijska številka procesa. ID procesa lahko enostavneje dobite z naslednjim ukazom:

pgrep firefox

Rezultat zgornjega ukaza je preprosto identifikacijska številka programa Firefox. Zdaj lahko zaženete ukaz kill, kot sledi:

ubij

(Zamenjaj z dejanskim ID-jem procesa, ki ga vrne pgrep).

Dejansko je lažje, da preprosto dobite ime programa pkill na naslednji način:

pkill firefox

Končno lahko uporabite tudi grafično orodje, kot je tisto, ki je priloženo Ubuntu, imenovanemu »System Monitor«. Če želite zagnati sistemski nadzornik, pritisnite tipko super (tipko Windows na večini računalnikov) in v iskalno vrstico vnesite »sysmon«. Ko se pojavi ikona sistemskega monitorja, kliknite na to.

Sistemski monitor prikazuje seznam procesov. Če želite program končati čisto, jo izberite in pritisnite tipko za konec na dnu zaslona (ali pritisnite CTRL in E). Če to ne deluje z desnim klikom in izberite "Kill" ali pritisnite CTRL in K na procesu, ki ga želite ubiti.