Ako zabiť proces v systéme Linux (Sprievodca 2023)

Všetci sme zažili tie dni, keď náš počítač beží výnimočne pomaly a zadrháva pri vykonávaní aj tých základných úloh. V systéme Windows máte k dispozícii iba Správcu úloh systému Windows na kontrolu a zabíjanie procesov, ktoré nie sú také dôležité, ale spotrebúvajú obrovské množstvo pamäte. V Linuxe však máte k dispozícii celý arzenál príkazov a nástrojov GUI na správu týchto úloh. V tomto článku ukážeme niekoľko jednoduchých metód príkazového riadka (CLI), ako aj metódy GUI, ako zabiť proces v systéme Linux.

Ukončiť proces v systéme Linux (2023)

Ale predtým, než sa ponoríme do sveta procesného manažmentu v Linuxe, pochopme, čo presne je proces a čo je ID procesu v systémoch Linux.

Obsah

Čo sú procesy v Linuxe

V Linuxe je každá aktuálne spustená inštancia programu známa ako „proces“, zatiaľ čo každý spustiteľný súbor je známy ako program. Keď sa spustí akýkoľvek program, vytvorí sa proces a každému procesu sa pridelí jedinečné 5-miestne identifikačné číslo známe ako „ID procesu“. Keď proces dokončí vykonávanie alebo je násilne ukončený, jeho ID procesu sa pridelí ďalšiemu procesu v poradí.

Zabi proces cez príkazový riadok v systéme Linux

Aj keď sa používanie terminálu môže niekedy zdať zastrašujúce v porovnaní s používaním nástrojov GUI na základné úlohy, spravovanie rôznych procesov bude oveľa jednoduchšie, keď pochopíte príkazy a ich rôzne možnosti.

Signály ukončenia

Keď sa pokúsite zabiť proces buď z GUI alebo CLI v Linuxe, jadro vyšle do procesu signál ukončenia. Proces sa správa podľa toho v závislosti od prijatého signálu. Každému z týchto signálov je priradené špecifické číslo, ktoré program rýchlo pochopí. Existuje mnoho typov ukončovacích signálov, ale tu sme vysvetlili len tie podstatné:

Signál Číselná hodnota Popis
SIGHUP 1 Je to skratka pre „Signal Hangup“
Odošle sa, keď je terminál zatvorený.
SIGINT 2 Znamená „prerušenie signálu“
Odošle sa, keď používateľ ukončí proces.
SIGKILL 9 Je to skratka pre „Signal Kill“
Odošle sa, keď potrebujete okamžite ukončiť proces
SIGTERM 15 Znamená „ukončenie signálu“
Odošle sa, keď potrebujete ukončiť proces a uvoľniť spotrebované prostriedky
SIGSTOP 19 – pre ARM, x86
17 – pre ALPHA
23 – pre MIPS
24 – pre PA-RISC
Znamená to „Signal Stop“
Odošle sa, keď potrebujete pozastaviť proces a obnoviť ho neskôr
Najčastejšie používané signály sú SIGKILL (9) a SIGTERM (15).

Identifikujte ID procesov

Pred ukončením procesu musíte poznať niektoré podrobnosti o procese, ako je ID procesu, čas behu atď. Ak chcete zistiť podrobnosti o procese, použite ps príkaz:

ps

Pomocou príkazu ps musíte proces vyhľadať posúvaním a poznamenaním si jeho názvu, čo môže byť ťažkopádne. Namiesto toho môžete dokonca použiť grep príkaz s ps príkaz v potrubí, ako je znázornené nižšie:

ps | grep

Aby to bolo jednoduchšie, existuje samostatný príkaz, ktorý zobrazuje iba ID procesu akéhokoľvek spusteného procesu, ktorý potrebujete vedieť. Syntax, ktorá sa má použiť pidof príkaz je:

pidof

Ukončite proces pomocou príkazu kill

Keď ste si poznamenali ID procesu procesu, ktorý chcete ukončiť, najbežnejším príkazom používaným na ukončenie programov vo vašom systéme Linux je príkaz kill. Syntax na použitie príkazu kill je:

kill

The parameter je voliteľný a príkaz kill štandardne odosiela signál SIGTERM (15). Akýkoľvek iný signál môžete odoslať podľa jeho číselnej hodnoty alebo skutočného názvu signálu z tabuľky vyššie.

Ukončiť proces pomocou príkazu pkill

Ak máte pocit, že hľadanie ID procesu je nepohodlné, môžete použiť príkaz pkill. Hľadá procesy zodpovedajúce vzoru a potom ho zabije. Syntax na použitie príkazu pkill je:

pkill

Niektoré z bežných možností spárovania s príkazom pkill sú:

Možnosť Popis
-n Vyberie len najnovšie procesy zodpovedajúce ID procesu
-u Vyberá procesy, ktoré vlastní konkrétny používateľ
-x Vyberá procesy, ktoré presne zodpovedajú vzoru

Toto je obzvlášť dôležité, keď viacerí používatelia pracujú na rôznych inštanciách toho istého programu v rovnakom systéme a jedna z inštancií sa začne správať neočakávane. Napríklad na nižšie uvedenej snímke obrazovky zabíjame inštanciu „gedit“, ktorú vlastní používateľ „intel“ pomocou príkazu pkill v systéme Linux:

pkill -u intel gedit

Ukončite proces pomocou príkazu killall

The killall príkaz funguje podobne ako príkaz kill príkaz, ale zabije všetky procesy zodpovedajúce názvu procesu bez ohľadu na používateľa. V predvolenom nastavení odosiela signál SIGTERM ak nie je uvedené inak. Zaujímavosťou je poznamenať, že killall príkaz sa nikdy nemôže zabiť, ale môže ukončiť iné inštancie príkazu killall príkaz. Syntax, ktorá sa má použiť killall príkaz je:

killall

Niektoré z možností spárovania s príkazom killall sú:

Možnosť Popis
-r Interpretuje process_name ako vzor regulárneho výrazu a potom zabije procesy zodpovedajúce vzoru
-u zabije zadaný proces vlastnený zadaným vlastníkom.
-o Zabije špecifikované procesy staršie (začaté predtým) ako v určitom čase.
-y Zabije špecifikované procesy mladšie (spustené po) konkrétnom čase.

Príkaz killall môže byť užitočný na ukončenie série rovnakých procesov alebo dokonca všetkých procesov vlastnených konkrétnym vlastníkom. Tu v našom príklade zabíjame všetky procesy „spánku na 500 sekúnd“ pomocou príkazu killall v systéme Linux:

killall -v sleep

Ukončite proces Linux pomocou príkazu top/htop

Táto metóda zabíjania procesov je užitočná, keď nemáte potuchy, ktoré procesy spotrebúvajú maximum zdrojov. V oboch príkazoch môžete prechádzať všetkými bežiacimi procesmi alebo dokonca zombie procesmi a môžete ich rýchlo ukončiť. Ak chcete použiť príkaz top na monitorovanie zdrojov, použite syntax v termináli:

top

Pochopenie výstupu:

Hlavný výstup príkazu top je rozdelený do stĺpcov, ktoré sú:

  1. PID – zobrazuje ID procesu spusteného procesu
  2. Používateľ – ukazuje vlastníka procesu
  3. PR – zobrazuje hodnotu priority procesu, ktorú prideľuje operačný systém
  4. NI – zobrazuje pekné hodnoty, ktoré sú ako priraďovanie užívateľsky rozmiestnených hodnôt na manuálne ovládanie priority úlohy.
  5. VIRT – zobrazuje množstvo virtuálnej pamäte, ktorú proces využíva.
  6. OZE – zobrazuje množstvo fyzickej pamäte, ktorú proces využíva
  7. SHR – zobrazuje množstvo pamäte zdieľanej inými procesmi
  8. S – zobrazuje aktuálny stav procesu, ktorý môže byť:
    • D – neprerušovaný spánok
    • R – beh
    • S – spánok
    • T – zastavené
    • Z – zombie
  9. %CPU – Zobrazuje množstvo CPU využívaného procesom v percentách
  10. % MEM – Zobrazuje množstvo pamäte RAM využívanej procesom v percentách
  11. TIME+ – Zobrazuje celkový čas behu procesu
  12. Príkaz – Zobrazuje, ktorý príkaz bol pre proces vyvolaný.

Ak nepoznáte ID procesu úlohy, ktorú chcete zrušiť, prejdite v zozname pomocou klávesov so šípkami alebo vyhľadajte názov procesu v tabuľke procesov v systéme Linux.

Ak chcete vyhľadať názov procesu, stlačte „L“ na klávesnici a zadajte názov procesu, ktorý chcete vyhľadať. Akonáhle nájdete hanebný proces, stlačte „k“ na klávesnici, aby ste proces ukončili. Teraz zadajte ID procesu alebo ho nechajte na aktuálne zvýraznenom procese a stlačte „ENTER“. Potom zadajte signál ukončenia a potom stlačte „ENTER“, aby ste ukončili program. Ak sa chcete vrátiť späť do terminálu, stlačte kláves „q“ na klávesnici.

Napriek tomu top príkaz zobrazuje podrobnosti, ako je ID procesu, spotreba pamäte a ďalšie pre všetky spustené procesy, nie je vhodný pre začiatočníkov, pretože nezobrazuje žiadne mapovania kľúčov ani spôsob jeho použitia. Na druhej strane, a htop príkaz má užívateľsky prívetivejšie rozhranie, aj pre nástroj príkazového riadku. Navyše zobrazuje všetky podrobnosti v samostatnom zobrazení, a preto nezaťažuje okno terminálu. Vo väčšine distribúcií nie je predinštalovaný a na inštaláciu musíte použiť nasledujúci príkaz htop v Linuxe:

sudo apt install -y htop

Ak chcete použiť htop na správu procesov v systéme Linux, použite príkaz nižšie:

htop

Ak chcete ukončiť program, prejdite na názov procesu, ktorý chcete ukončiť, stlačte „F9“ a potom stlačte kláves Enter. Ak potrebujete vyhľadať a zabiť akýkoľvek program, stlačte na klávesnici „F3“, zadajte názov a stlačte Enter. The názov procesu bude zvýraznený, stlačte F9 a potom stlačte kláves Enter na klávesnici, čím proces ukončíte.

Zabi proces cez System Monitor v Linuxe

Ak máte pocit, že metóda príkazového riadka je pre vás náročná, môžete použiť vstavaný nástroj na monitorovanie systému, ktorý je dostupný v každej distribúcii Linuxu. Ak sa chcete dozvedieť, ako to funguje, otvorte nástroj na monitorovanie systému z ponuky Aplikácie a postupujte podľa nižšie uvedených krokov.

1. Po otvorení nástroja na monitorovanie systému uvidíte v hornej časti tri karty s názvom — Procesy, Zdroje a Systém súborov. Ak chcete spravovať svoje procesy, prejdite na stránku Karta „Procesy“.. Tu uvidíte všetky vaše aktuálne spustené procesy. Ak chcete vyhľadať názov procesu, stlačte „CTRL+F“. Kliknite na názov procesu, ktorý chcete ukončiť, a kliknite na „Ukončiť proces“.

2. Potom sa zobrazí výzva na potvrdenie, či chcete proces ukončiť alebo nie. Pokračujte a kliknite na veľké červené tlačidlo „Ukončiť proces“, čím ukončíte proces v systéme Linux.

často kladené otázky

Ako zastavím všetky procesy v Linuxe?

Ak potrebujete zastaviť všetky procesy (okrem prihlasovacieho shellu, init a procesov špecifických pre jadro) pre konkrétneho používateľa v systéme Linux, použite buď príkaz pkill alebo príkaz killall podľa syntaxe:

pkill -u

killall -u

Ak potrebujete zabiť každý proces pre každého používateľa vrátane init systému, stlačte klávesy „ALT + Prt Sc + o“ na klávesnici.

Je v poriadku ukončiť proces?

Keď zatvoríte akýkoľvek nepodstatný proces na pozadí alebo používateľský proces, ktorý spotrebúva veľa systémovej pamäte, uvoľníte zdroje, ktoré teraz môžu využiť iné procesy. Pred vypnutím akéhokoľvek procesu sa však uistite, že nezabíjate dôležitý proces operačného systému.

Aké sú procesy na pozadí v systéme Linux?

V Linuxe sú procesy na pozadí procesy, ktoré môžu bežať bez inštancie shellu alebo akéhokoľvek zásahu používateľa. Možno ich zobraziť pomocou ktoréhokoľvek z príkazov – top, htop, ps atď.

Čo je proces zombie?

Proces, ktorý bol zabitý používateľom, ale stále zaberá pamäť, sa nazýva zombie proces.

Čo robí CTRL + Z v Linuxe?

Keď v Linuxe použijete CTRL + Z, odošle signál SIGTSTP, ktorý pozastaví proces a odošle ho na pozadí. Keď je proces na pozadí v pozastavenom stave, nemôžete ho zabiť, kým sa nedostane späť do popredia.

Zabíjajte procesy v Linuxe jednoducho

Zabíjanie procesov zabíjania pamäte je celkom zásadná úloha, ktorú by sa mal naučiť každý používateľ. V tomto článku sme ukázali metódu príkazového riadku vrátane príkazov ako killall a pkill, ako aj metódy GUI na zabíjanie procesov v systéme Linux. Dokonca sme podrobne popísali, ako používať populárne nástroje ako top a htop na správu procesov na vašom počítači so systémom Linux. Ak narazíte na nejaké problémy pri používaní týchto nástrojov na zabitie procesu, dajte nám vedieť v komentároch nižšie.

ZNAČKYhtopLinuxové príkazy
1 komentár

Odporúčané články

  1. Sudhirhovorí:

    Naozaj pekné a jednoduché vysvetlenie. Stojí za prečítanie. len tak ďalej!!!

    Odpovedzte
Zanechať Odpoveďzrušiť odpoveď