Získavanie informácií o procesoch
Získanie procesu, ktorý nereaguje, je prvým krokom k jeho zabitiu. Informácie o procese môžeme získať pomocou dvoch príkazov, t.j.e., top a ps. Zoznam spustených procesov zobrazíte zadaním príkazu top z príkazového riadku:
$ topAlebo
$ ps
Niektoré dôležité podrobnosti nájdete na termináli. Predstavte si napríklad situáciu, keď proces súvisiaci s „Aplikáciou“ prestal reagovať. V našom prípade existujú štyri inštancie Aplikácií bežiacich s Process ID (PID) 5441, 3870, 5062 a 3637, 4233, 770, 3787, podľa nášho horného príkazového riadku.
Aj keď je vrchol mimoriadne užitočný, nie vždy je to najefektívnejší spôsob získavania informácií. Teraz povedzme, že musíte ukončiť procesy aplikácie, ale nechcete dostávať informácie v reálnom čase z horného príkazu. v tomto scenári môžete použiť príkaz ps. Ďalej môžeme výstup filtrovať pomocou príkazu grep. Zaujíma nás iba zoznam ďalších procesov týkajúcich sa aplikácií. Pomocou nižšie uvedeného príkazu zobrazíte procesy súvisiace s aplikáciou:
$ ps aux | grep aplikáciaKeďže,
a = Zobraziť všetky procesy súvisiace s používateľom
u = Zobraziť vlastníka / používateľa procesu.
x = Zobraziť všetky procesy, ktoré nesúvisia s terminálom
Grep vytlačí riadky, ktoré sa zhodujú so vzorom, zatiaľ čo ps vráti snímku aktuálneho procesu. Dôvod, prečo používať grep na filtrovanie ps, je jednoduchý: ak spustíte ps sám, dostanete snímku všetkých spustených procesov.
Zobraziť zoznam signálov:
Zadaním príkazu kill -l zobrazíte zoznam všetkých signálov. Príkazom kill môžeme vysielať rôzne signály.
Môžeme zvoliť akýkoľvek signál zo zoznamu daných signálov.
$ kill -l
Existuje niekoľko bežných signálov zabitia:
Názov signálov Hodnota signálu Účinok
SIGHUP 1 ZavesteSIGINT 2 Prerušenie z klávesnice
SIGKILL 9 Zabite signál
SIGTERM 15 Signál ukončenia
SIGSTOP 17, 19, 23 Zastavte proces
Zabiť procesy podľa ID:
Poďme teda na ukončenie našej aplikácie príkaz kill. Syntax bude vyzerať takto:
Zabiť signál PIDPošlite signál zabitia na zabitie 4129 procesov:
Zabiť -9 4124
Pošlite signál na zavesenie 5427 procesov:
Zabite -1 5427
Vyšlite signál na prerušenie procesu 5250 z klávesnice:
Zabite -2 5250
Proces zabitia podľa mena:
Ak chcete zabiť všetky procesy bežiace v aplikácii. Použite príkaz killall:
$ killall -9 aplikácia
Všetky procesy bežiace v aplikácii boli úspešne zabité.
Záver:
Pred zabitím akýchkoľvek procesov Linuxu si najskôr musíme pozrieť zoznam všetkých spustených procesov, aby sme získali ID procesu. S príkazom kill môžeme použiť viac signálov, pričom každý signál sa používa na konkrétny účel.