logo

Ako zabiť proces v Linuxe?

V operačnom systéme existuje veľa programov, ktoré sa odohrávajú v RAM počítača. Tieto programy môže spúšťať samotný OS alebo používateľ, takéto programy sa nazývajú 'Procesy .' Proces má zvyčajne svoj životný cyklus a sám sa ukončí, keď je dokončený alebo keď ho ukončíme manuálne. Niekedy sa však proces môže zablokovať kvôli chybe v plánovaní procesu alebo kvôli spotrebe veľkého množstva pamäte RAM alebo CPU. V takýchto prípadoch musíme procesy zabiť manuálne, aby sme zachránili náš stroj pred neočakávaným zavesením.

Linux umožňuje rôznym nástrojom zabiť chybný proces. Aby sme zabili nejaký proces, musíme mať o procese informácie ako napr PID, signál a ďalšie .

Lokalizácia procesov

Aby sme zabili proces, musíme získať prístup k informáciám o procese. Existujú rôzne príkazy na sledovanie procesu ako napr top , ps , uchopiť, a pidof.

Systém Linux nám umožňuje zabiť proces rôznymi spôsobmi, ako napr zabiť proces podľa jeho názvu alebo ID procesu (PID). Vyššie uvedené príkazy teda použijeme podľa našej potreby.

Vyhľadanie procesov pomocou príkazu „top“.

The top príkaz sa používa na zoznam všetkých spustených procesov v systéme Linux. Zobrazuje podrobné informácie, ako je PID, používateľské meno, využitie procesora, čas, vykonaný príkaz a ďalšie.

Ak chcete nájsť procesy, vykonajte príkaz takto:

stránky java servera
 top 

Vyššie uvedený príkaz zobrazí spustené procesy. Zvážte nasledujúci výstup:

Kill Process Linux

Procesy môžeme prechádzať rolovaním nahor a nadol na termináli. Príkaz top poskytuje rôzne filtre na filtrovanie procesov, ako je názov procesu, využitie procesora a ďalšie. Ak chcete opustiť hornú časť, stlačte tlačidlo 'q' kľúč, vráti vás do terminálu. Môžeme však využiť aj tradičnú možnosť výstupu stlačením CTRL+C kľúče.

Vyhľadanie procesov pomocou príkazu ps a grep

The ps príkaz je ďalší spôsob zobrazenia informácií o procese. Existuje veľa možností, ktoré sa používajú s príkazom ps, ako napr do, čo znamená:

a: Na zobrazenie procesov pre všetkých používateľov

v : Na zobrazenie procesov používaných konkrétnym používateľom

X : Na zobrazenie všetkých procesov. Ak nešpecifikujeme možnosť x, nezobrazí sa proces GUI.

Vykonaním nižšie uvedeného príkazu zobrazíte zoznam všetkých spustených procesov:

 ps aux 

Zvážte nasledujúci výstup:

Kill Process Linux

Výstup príkazu ps je podobný ako top príkaz. Názov procesu a PID sú uvedené v prvých dvoch stĺpcoch a názov procesu je uvedený v stĺpci úplne vpravo.

Príkaz ps je užitočnejší ako príkaz top. Umožňuje nám filtrovať výstup pomocou príkazu grep.

Predpokladajme, že chceme filtrovať celý proces s používateľským menom javatpo+, vykonajte príkaz takto:

 ps aux | grep javatpo+ 

Vyššie uvedený príkaz vyfiltruje všetky zadané procesy príkazom grep. Zvážte nasledujúci výstup:

Kill Process Linux

Vyššie uvedený výstup poskytuje súčasne funkcie príkazu ps a príkazu grep.

Vyhľadanie procesu pomocou príkazov pidof a pgrep

The pidof príkaz nám tiež umožňuje lokalizovať proces. Ak chceme sledovať proces podľa jeho názvu, bude veľmi užitočný príkaz pidof. Zobrazuje PID procesov, keď sa používa s názvom procesu.

Ak chcete nájsť PID procesu, vykonajte príkaz pidof takto:

 pidof process_name 

Ak máme spustený proces s presným názvom chróm , vykonajte príkaz nasledovne, aby ste získali jeho PID.

 pidof chrome 

zvážte nasledujúci výstup:

Kill Process Linux

Zabíjanie procesu

Teraz, keď sme sledovali procesy, môžeme proces zabiť. Existujú rôzne príkazy, ktoré slúžia na zabitie procesu ako napr zabiť , zabiť , vrchol, a pkill.

Pred zabitím procesu je potrebné vedieť, aké procesy môžeme zabiť. Nižšie sú uvedené niektoré dôležité body o procesoch zabíjania:

  • Ak ste bežný používateľ, môžete zabiť iba procesy, ktoré vám patria. Nemôžete zabiť procesy, ktoré spúšťajú ostatní používatelia. The top a ps to príkazy zobrazujú používateľov so súvisiacim procesom.
  • Používateľ root môže zabiť všetky procesy. Môžeme však tiež pridať sudo pred akýkoľvek príkaz, aby sme ho vykonali ako root.
  • V Linuxe, keď je proces zabitý, je do procesov prenesený špeciálny signál. Hoci existujú rôzne typy signálov v Linuxe, ale v tomto prípade sa Linux zaoberá SIGKILLS a TERMÍN signály. Predvolene. Linux odošle SIGTERM, ktorý proces elegantne ukončí. Ak chcete násilne zabiť proces, použite namiesto toho SIGKILL.
  • Linux uchováva stav procesov, kým nie je úplne odstránený zo systému. Takže podradené procesy sa budú zobrazovať v zozname procesov, kým sa neodstráni nadradený proces.
  • Nemôžeme zabiť proces, ak je prítomný 'neprerušiteľný spánok .' Táto situácia nastane, keď proces vykoná operáciu vstupu/výstupu. Tento stav je možné vidieť v 8thstĺpec top a ps na príkaz.

Zabitie procesu príkazom killall

Príkaz killall je najjednoduchšia technika na zabitie procesu, ak poznáte presný názov procesu, nespúšťa ho žiadny iný používateľ a nie je v stave Z alebo D. V príkaze kill all nie je potrebné nájsť proces alebo PID. Ak chcete ukončiť proces, vykonajte príkaz takto:

 killall firefox 

Vyššie uvedený príkaz ukončí proces a ukončí prehliadač firefox. Zvážte nasledujúci výstup:

Kill Process Linux

Ak príkaz úspešne ukončí proces, neposkytne žiadny výstup.

Ak chcete násilne ukončiť proces, vykonajte príkaz killall s -SIGKILL takto:

 killall -SIGKILL process_name 

môžeme tiež použiť -9 namiesto -SIGKILL.

Ak chcete ukončiť proces interaktívne, vykonajte príkaz takto:

 killall -i process_name 

Ak chcete ukončiť proces ako iný používateľ, vykonajte príkaz takto:

 sudo killall process_name 

Môžeme tiež zabiť proces na určité časové obdobie pomocou -O a -a vlajky. Ak chcete zabiť proces, ktorý beží dlhšie ako 20 minút, vykonajte príkaz uvedený nižšie: killall -o 20m názov_procesu

Ak chcete zabiť proces, ktorý beží menej ako 20 minút, vykonajte nasledujúci príkaz:

 killall -y 20m process_name 

Skratky na použitie časového obdobia sú nasledovné:

sekundy: s

minúty: m

hodiny: h

dni: d

týždne: w

mesiace: M

rokov: r

Zabite proces príkazom pkill

Niekedy nepoznáme presný názov procesu; v takom prípade bude príkaz pkill najužitočnejšou pomôckou na zabitie procesu. Umožňuje nám zabiť proces zadaním zodpovedajúceho názvu procesu. Napríklad, chceme zabiť všetky procesy so zodpovedajúcim názvom java, vykonajte príkaz takto:

 pkill java 

zatvorí všetky procesy, ktoré obsahujú názov java. Podobne pri zabíjaní procesu firefox vykonajte príkaz takto:

 pkill fire 

Zvážte nasledujúci výstup:

Kill Process Linux

Ak je príkaz pkill úspešne vykonaný, nezobrazí sa žiadny výstup.

Ak chcete násilne zabiť proces príkazom pkill, vykonajte ho takto:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

Zabi proces príkazom kill

Príkaz kill je najjednoduchší nástroj na zabitie procesu; všetko, čo potrebujeme PID procesu. Akonáhle získame PID procesu, je to priamy proces. Ak chcete ukončiť proces, vykonajte príkaz kill nasledovaný PID. Ak chcete nájsť PID procesu, použite príkaz top alebo ps aux, ako je vysvetlené vyššie.

Ak chcete zabiť proces s PID 5296, vykonajte príkaz takto:

 kill 5296 

Ak chcete násilne ukončiť proces, použite možnosť -SIGKILL alebo -9:

 kill -SIGKILL 5296 

Vyššie uvedený príkaz ukončí proces s PID 5296.

Zabi proces príkazom top

Príkaz top nám umožňuje lokalizovať a ukončiť proces. Je to jednoduchý proces na ukončenie procesu pomocou príkazu top. Najprv vykonajte horný príkaz na nájdenie procesu a stlačte k' kým je príkaz spustený. Ponorí vás do režimu zabíjania procesov, zadajte PID procesu, ktorý chcete zabiť. Zvážte nasledujúci výstup:

Kill Process Linux

Ako vidíme z vyššie uvedeného výstupu, existuje možnosť „PID na signalizáciu/zabitie“ zabiť proces z vyššie uvedeného zoznamu procesov. Zadajte PID procesu a stlačte ENTER kľúč.

Ak ponecháme PID prázdne, ukončí sa tým najvyšší proces.

Zabi proces pomocou sledovania systému

Proces môžeme ukončiť aj grafickým prostredím Linuxu nazývaným systémový monitor. Ak chcete ukončiť proces prostredníctvom monitora systému, postupujte podľa nasledujúcich krokov:

Krok 1: Vyhľadajte alebo prezrite systémový monitor, stlačením klávesu Enter ho otvorte.

Krok 2: Zobrazí zoznam všetkých spustených procesov vášho systému Linux. Zvážte nasledujúci obrázok:

Kill Process Linux

Krok 3: Prejdite si proces a kliknite pravým tlačidlom myši na proces, ktorý chcete ukončiť.

Krok 4: Vyberte možnosť Zabiť. Tiež môžeme použiť CTRL+K kľúče na zabitie.