Kuidas Linuxi abil protsesse tappa
Aeg-ajalt mõni programm hangub, sellisel juhul vajate meetodit selle hävitamiseks. Linux pakub mitmeid lähenemisviise programmide kestast sundlõpetamiseks.
Kuidas kasutada käsku "killall".
The Tapa kõik käsk tapab kõik protsessid nime järgi. See tähendab, et kui teil töötab sama programmi kolm versiooni, tapab killall käsk kõik kolm.
Avage näiteks väike programm, näiteks pildivaatur. Nüüd avage sama pildivaaturi teine koopia. See näide kasutab Xviewerit, mis on selle kloon Gnoomi silm.
Avage terminal ja tippige järgmine käsk:
killall xviewer
Programmi mõlemad eksemplarid suletakse.
Tapa täpne protsess
Käsk killall võib anda kummalisi tulemusi. Kui teil on käsunimi, mis on pikem kui 15 tähemärki, töötab killall käsk ainult esimese 15 tähemärgi puhul. Kui teil on seetõttu kaks programmi, millel on esimesed 15 sama tähemärki, tühistatakse mõlemad programmid, kuigi tahtsite tappa ainult ühe.
Sellest mööda saamiseks võite määrata järgmise lüliti, mis tapab ainult täpselt nimele vastavad failid.
killall -e
Programmide tapmisel ignoreerige juhtumeid
Veendumaks, et käsk killall eirab teie esitatud programminime suur- ja väiketähti, kasutage järgmist käsku:
killall - mina
killall -- Ignoreeri suurtähte
Tapke kõik samas rühmas olevad programmid
Kui käivitate käsu, näiteks järgmise, loob see kaks protsessi:
ps -ef | vähem
Üks käsk on mõeldud ps -ef osa, mis loetleb kõik teie süsteemis töötavad protsessid ja väljund suunatakse torusse vähem käsku. Mõlemad programmid kuuluvad samasse rühma, mis on bash.
Mõlema programmi korraga tapmiseks käivitage järgmine käsk:
killall -g
Näiteks kõigi bash-shellis töötavate käskude hävitamiseks käivitage järgmine:
killall -g bash
Kõigi töötavate rühmade loetlemiseks käivitage järgmine käsk:
ps -g
Hankige kinnitus enne tapmisprogramme
Ilmselgelt on killall käsk võimas käsk ja te ei taha kogemata valesid protsesse tappa.
Kui kasutate järgmist lülitit, küsitakse teilt enne iga protsessi katkestamist, kas olete kindel.
killall -i
Lõpetage protsessid, mis on teatud aja kestnud
Kujutage ette, et olete programmi käivitanud ja see võtab palju kauem aega, kui lootsite.
Saate käsu tappa järgmisel viisil:
killall -o h4
The h ülaltoodud käsus tähistab tunde – see käsk tapab protsessid, mis töötavad neli tundi või kauem.
Määrake üks järgmistest aja verstapostidest:
- s: sekundit
- m: minutit
- h: tundi
- d: päevad
- w: nädalat
- M: kuud
- y: aastat
Teise võimalusena võite alles äsja käivitatud käskude hävitamiseks kasutada järgmist lülitit.
killall -y h4
Seekord tapab killall käsk kõik programmid, mis töötavad vähem kui 4 tundi.
Ärge öelge mulle, kui protsessi ei tapeta
Vaikimisi, kui proovite tappa programmi, mis ei tööta, kuvatakse vaikimisi järgmine tõrketeade:
programminimi: protsessi ei leitud
Kui te ei soovi, et teile teatatakse, kui protsessi ei leitud, kasutage järgmist käsku:
killall -q
Regulaaravaldiste kasutamine
Programmi või käsu nime määramise asemel määrake regulaaravaldis, nii et kõik regulaaravaldisele vastavad protsessid suletakse käsuga killall.
Regulaaravaldise kasutamiseks kasutage järgmist käsku:
killall -r
Tapa programmid konkreetsele kasutajale
Konkreetsele kasutajale kuuluva programmi tapmiseks kasutage -u lüliti:
killall -u
Kõigi selle kasutaja protsesside lõpetamiseks jätke programmi nimi välja.
Oodake, kuni killall lõpetab
Vaikimisi naaseb killall selle käivitamisel terminali, kuid enne terminali aknasse naasmist võite sundida killalli ootama, kuni kõik määratud protsessid on suletud.
Käivitage järgmine käsk:
killall -w
Kui programm ei sure kunagi, jätkab ka killall edasi elamist.