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:
- s - sekunde
- m - minut
- h - ure
- d - dni
- w - tednov
- M - meseci
- y - let
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:
- HUP
- INT
- PRENEHATI
- ILL
- TRAP
- ABRT
- IOT
- AVTOBUS
- FPE
- KILL
- USR1
- SEGV
- USR2
- PIPE
- ALRM
- TERM
- STKFLT
- CHLD
- CONT
- STOP
- TSTP
- TTIN
- TTOU
- URG
- XCPU
- XFSZ
- VTALRM
- PROG
- WYNCH
- IO
- PWR
- SYS
- UNUSED
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
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.