logo

Jak zabít proces v Linuxu?

V operačním systému existuje mnoho programů, které se odehrávají v paměti RAM počítače. Tyto programy může spouštět samotný OS nebo uživatel, takové programy se nazývají 'Procesy .' Obvykle má proces svůj životní cyklus a sám se ukončí, když je dokončen nebo když jej ukončíme ručně. Někdy se však proces může zablokovat kvůli chybě v plánování procesu nebo kvůli spotřebě velkého množství paměti RAM nebo CPU. V takových případech musíme procesy ukončit ručně, abychom zachránili náš počítač před neočekávaným zavěšením.

Linux umožňuje různým nástrojům zabít chybující proces. Abychom mohli zabít proces, musíme mít k dispozici informace o procesu, jako je např PID, signál a další .

Lokalizace procesů

Abychom proces zabili, musíme získat přístup k informacím o procesu. Existují různé příkazy pro sledování procesu jako např horní , ps , rukojeť, a pidof.

Linuxový systém nám umožňuje zabít proces různými způsoby, jako např zabít proces podle jeho názvu nebo id procesu (PID). Výše uvedené příkazy tedy použijeme podle naší potřeby.

Vyhledání procesů pomocí příkazu „top“.

The horní příkaz se používá k výpisu všech běžících procesů v systému Linux. Zobrazuje podrobné informace, jako je PID, uživatelské jméno, využití CPU, čas, provedený příkaz a další.

Chcete-li najít procesy, spusťte příkaz následovně:

junit testovací případy
 top 

Výše uvedený příkaz zobrazí běžící procesy. Zvažte následující výstup:

Kill Process Linux

Procesy můžeme procházet rolováním nahoru a dolů na terminálu. Příkaz top poskytuje různé filtry pro filtrování procesů, jako je název procesu, využití procesoru a další. Chcete-li opustit horní část, stiskněte tlačítko 'q' klíč, vrátí vás do terminálu. Můžeme však využít i tradiční možnost odchodu stisknutím CTRL+C klíče.

Vyhledání procesů pomocí příkazu ps a grep

The ps příkaz je další způsob, jak zobrazit informace o procesu. Existuje mnoho voleb, které se používají s příkazem ps, jako např na, což znamená:

a: Chcete-li zobrazit procesy pro všechny uživatele

v : Zobrazení procesů používaných konkrétním uživatelem

X : Pro zobrazení všech procesů. Pokud nezadáme možnost x, nezobrazí se proces GUI.

Provedením níže uvedeného příkazu zobrazíte seznam všech běžících procesů:

 ps aux 

Zvažte následující výstup:

Kill Process Linux

Výstup příkazu ps je podobný jako horní příkaz. Název procesu a PID jsou uvedeny v prvních dvou sloupcích a název procesu je uveden ve sloupci zcela vpravo.

Příkaz ps je užitečnější než příkaz top. Umožňuje nám filtrovat výstup příkazem grep.

Předpokládejme, že chceme filtrovat celý proces s uživatelským jménem javatpo+, spusťte příkaz následovně:

 ps aux | grep javatpo+ 

Výše uvedený příkaz bude filtrovat všechny zadané procesy příkazem grep. Zvažte následující výstup:

Kill Process Linux

Výše uvedený výstup poskytuje společně funkce příkazu ps i příkazu grep.

Vyhledání procesu pomocí příkazu pidof a pgrep

The pidof příkaz nám také umožňuje lokalizovat proces. Pokud chceme sledovat proces podle jeho názvu, bude velmi užitečný příkaz pidof. Zobrazuje PID procesů, pokud je použit s názvem procesu.

Chcete-li najít PID procesu, proveďte příkaz pidof následovně:

 pidof process_name 

Pokud máme běžící proces s přesným názvem chrom , proveďte příkaz následovně, abyste získali jeho PID.

 pidof chrome 

zvažte následující výstup:

Kill Process Linux

Zabíjení procesu

Nyní, když jsme sledovali procesy, můžeme proces zabít. Existují různé příkazy, které se používají k zabití procesu jako např zabít , zabít , horní, a pkill.

Před zabitím procesu je nutné vědět, jaké procesy můžeme zabít. Níže jsou uvedeny některé základní body o procesech zabíjení:

  • Pokud jste normální uživatel, pak můžete zabít pouze procesy, které vám patří. Nemůžete zabít procesy, které jsou spuštěny ostatními uživateli. The horní a ps to příkazy zobrazí uživatele se souvisejícím procesem.
  • Uživatel root může zabít všechny procesy. Můžeme však také přidat sudo před jakýkoli příkaz a provést jej jako root.
  • V Linuxu, když je proces zabíjen, je do procesů přenášen speciální signál. I když existují různé typy signálů v Linuxu, ale v tomto případě se Linux zabývá SIGKILLS a OBDOBÍ signály. Ve výchozím stavu. Linux odešle SIGTERM, který proces elegantně ukončí. Pokud chcete násilně zabít proces, použijte místo toho SIGKILL.
  • Linux uchovává stav procesů, dokud není zcela odstraněn ze systému. Takže podřízené procesy budou zobrazeny v seznamu procesů, dokud nebude odstraněn nadřazený proces.
  • Nemůžeme zabít proces, pokud je uvnitř 'nepřerušitelný spánek .' K této situaci dochází, když proces provádí vstupní/výstupní operaci. Tento stav lze vidět v 8čtsloupec horní a ps k příkazu.

Zabití procesu příkazem killall

Příkaz killall je nejjednodušší technika pro ukončení procesu, pokud znáte přesný název procesu, není spuštěn žádným jiným uživatelem a není ve stavu Z nebo D. V příkazu kill all není potřeba hledat proces nebo PID. Chcete-li proces zabít, spusťte příkaz následovně:

 killall firefox 

Výše uvedený příkaz ukončí proces a ukončí prohlížeč firefox. Zvažte následující výstup:

Kill Process Linux

Pokud příkaz úspěšně ukončí proces, neposkytne žádný výstup.

Chcete-li násilně zabít proces, spusťte příkaz killall s -SIGKILL takto:

 killall -SIGKILL process_name 

můžeme také použít -9 místo -SIGKILL.

Chcete-li interaktivně ukončit proces, spusťte příkaz následovně:

 killall -i process_name 

Chcete-li ukončit proces jako jiný uživatel, spusťte příkaz následovně:

 sudo killall process_name 

Můžeme také zabít proces na pevně stanovenou dobu pomocí a -a vlajky. Chcete-li zabít proces, který běží déle než 20 minut, spusťte níže uvedený příkaz: killall -o 20m název_procesu

Chcete-li zabít proces, který běží méně než 20 minut, proveďte níže uvedený příkaz:

 killall -y 20m process_name 

Zkratky pro použití časového období jsou následující:

sekundy: s

minuty: m

hodiny: h

dny: d

týdny: w

měsíce: M

roky: r

Zabijte proces příkazem pkill

Někdy neznáme přesný název procesu; v takovém případě bude příkaz pkill nejužitečnějším nástrojem pro ukončení procesu. Umožňuje nám to zabít proces zadáním odpovídajícího názvu procesu. Například chceme zabít všechny procesy s odpovídajícím názvem java, spusťte příkaz následovně:

 pkill java 

zavře všechny procesy, které obsahují jméno java. Podobně pro zabití procesu firefox spusťte příkaz následovně:

 pkill fire 

Zvažte následující výstup:

Kill Process Linux

Pokud je příkaz pkill úspěšně proveden, nezobrazí se žádný výstup.

Chcete-li proces násilně zabít příkazem pkill, proveďte jej následovně:

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

Zabijte proces příkazem kill

Příkaz kill je nejjednodušší nástroj pro ukončení procesu; vše, co potřebujeme PID procesu. Jakmile získáme PID procesu, je to přímočarý proces. Chcete-li ukončit proces, proveďte příkaz kill následovaný PID. Chcete-li najít PID procesu, použijte příkaz top nebo ps aux, jak je vysvětleno výše.

Chcete-li zabít proces s PID 5296, proveďte příkaz následovně:

 kill 5296 

Chcete-li násilně ukončit proces, použijte volbu -SIGKILL nebo -9:

 kill -SIGKILL 5296 

Výše uvedený příkaz ukončí proces s PID 5296.

Zabijte proces příkazem top

Příkaz top nám umožňuje najít a zabít proces. Je to přímočarý proces k ukončení procesu pomocí příkazu top. Nejprve proveďte horní příkaz k nalezení procesu a stiskněte k' při spuštěném příkazu. Ponoří vás do režimu zabíjení procesu, zadejte PID procesu, který chcete zabít. Zvažte následující výstup:

Kill Process Linux

Jak vidíme z výše uvedeného výstupu, existuje možnost ' PID k signalizaci/zabití' zabít proces z výše uvedeného seznamu procesů. Zadejte PID procesu a stiskněte ENTER klíč.

Pokud ponecháme PID prázdné, ukončí se nejvyšší proces.

Zabijte proces pomocí sledování systému

Proces můžeme také ukončit grafickým prostředím Linuxu nazvaným systémový monitor. Chcete-li ukončit proces prostřednictvím monitorování systému, postupujte takto:

Krok 1: Vyhledejte nebo procházejte monitor systému a otevřete jej stisknutím klávesy Enter.

Krok 2: Zobrazí seznam všech běžících procesů vašeho systému Linux. Zvažte následující obrázek:

Kill Process Linux

Krok 3: Procházejte proces a klikněte pravým tlačítkem na něj, který chcete ukončit.

Krok 4: Vyberte možnost Kill. Také můžeme použít CTRL+K klíče k zabití.