Kako uničiti procese z Linuxom
Vsake toliko se program obesi, v tem primeru potrebujete metodo za njegovo uničenje. Linux ponuja več pristopov za prisilno prekinitev programov iz lupine.
Kako uporabljati ukaz 'killall'
The ubij ukaz ubije vse procese po imenu. To pomeni, da če imate zagnane tri različice istega programa, ukaz killall ubije vse tri.
Na primer, odprite majhen program, kot je pregledovalnik slik. Zdaj odprite drugo kopijo istega pregledovalnika slik. Ta primer uporablja Xviewer, ki je klon Gnomovo oko.
Odprite terminal in vnesite naslednji ukaz:
killall xviewer
Oba primerka programa se zapreta.
Ubijte natančen proces
Ukaz killall lahko povzroči čudne rezultate. Če imate ime ukaza, ki je dolgo več kot 15 znakov, ukaz killall deluje samo na prvih 15 znakov. Če torej imate dva programa, ki imata enakih prvih 15 znakov, sta oba programa preklicana, čeprav ste želeli ubiti samo enega.
Če želite to preprečiti, lahko določite naslednje stikalo, ki ubije samo datoteke, ki se ujemajo z natančnim imenom.
killall -e
Pri ubijanju programov prezrite velike črke
Če želite zagotoviti, da ukaz killall prezre velike in male črke imena programa, ki ga navedete, uporabite naslednji ukaz:
killall -I
killall --prezri-velike črke
Ukinite vse programe v isti skupini
Ko zaženete ukaz, kot je ta, ustvari dva procesa:
ps -ef | manj
En ukaz je za ps -ef del, ki navaja vse procese, ki se izvajajo v vašem sistemu, in izhod je speljan v manj poveljevanja. Oba programa spadata v isto skupino, tj bash.
Če želite uničiti oba programa hkrati, zaženite naslednji ukaz:
killall -g
Na primer, če želite uničiti vse ukaze, ki se izvajajo v bash lupini, zaženite naslednje:
killall -g bash
Če želite prikazati vse delujoče skupine, zaženite naslednji ukaz:
ps -g
Pridobite potrditev, preden ubijete programe
Očitno je ukaz killall močan ukaz in ne želite po nesreči uničiti napačnih procesov.
Ko uporabite naslednje stikalo, vas vpraša, ali ste prepričani, preden se vsak proces ustavi.
ubiti -i
Uničite procese, ki so se izvajali določen čas
Predstavljajte si, da izvajate program in traja veliko dlje, kot ste pričakovali.
Ukaz lahko ubijete na naslednji način:
killall -o h4
The h v zgornjem ukazu pomeni ure – ta ukaz ubije procese, ki se izvajajo štiri ure ali več.
Določite katerega koli od naslednjih časovnih mejnikov:
- s: sekunde
- m: minute
- h: ure
- d: dnevi
- w: tedni
- M: meseci
- y: leta
Če želite uničiti ukaze, ki so se šele začeli izvajati, uporabite naslednje stikalo:
killall -y h4
Tokrat ukaz killall ubije vse programe, ki se izvajajo manj kot 4 ure.
Ne govori mi, kdaj proces ni uničen
Če poskusite uničiti program, ki se ne izvaja, se privzeto prikaže naslednja napaka:
ime programa: ni bilo mogoče najti nobenega procesa
Če ne želite biti obveščeni, če procesa ni bilo mogoče najti, uporabite naslednji ukaz:
killall -q
Uporaba regularnih izrazov
Namesto da bi podali ime programa ali ukaza, podajte regularni izraz, tako da se vsi procesi, ki se ujemajo z regularnim izrazom, zaprejo z ukazom killall.
Če želite uporabiti regularni izraz, uporabite naslednji ukaz:
ubiti -r
Uniči programe za določenega uporabnika
Če želite uničiti program v lasti določenega uporabnika, uporabite -u stikalo:
ubiti -u
Izpustite ime programa, da končate vse procese tega uporabnika.
Počakajte, da se killall konča
Privzeto se killall vrne v terminal, ko ga zaženete, vendar lahko prisilite killall, da počaka, da se vsi navedeni procesi zaprejo, preden vas vrne v terminalsko okno.
Zaženite naslednji ukaz:
ubiti -w
Če program nikoli ne umre, potem tudi killall še naprej živi.