GNU/Linux >> Znalost Linux >  >> Linux

5 rychlých způsobů, jak zabít proces v Linuxu

Operační systém Linux poskytuje několik způsobů ukončení procesu operačního systému Linux. Zřejmý způsob, jak zastavit program, je kliknout na tlačítko X v levém nebo pravém horním rohu. Ale existuje nespočet dalších způsobů, jak proces zabít; jsme zde, abychom probrali další účinné způsoby.

Způsoby, jak zabít proces v Linuxu

Řídící sekvence

Druhým zřejmým způsobem, jak zabít proces, který byl právě spuštěn, je zadat Ctrl-C do příkazového řádku. Ovládací sekvence Ctrl-C je obecně bezpečná, i když je možná ztráta dat.

Sekvence Ctrl-Z pozastaví běžící proces. Odešle signál SIGTSP procesu, jehož výchozí akcí je pozastavení procesu.

zabít příkazy

Operační systém Linux je dodáván s příkazem kill, který můžete použít k ukončení procesu, když přestanou reagovat nebo spotřebovávají příliš mnoho zdrojů. Proces v Linuxu je instancí programu.

Při spuštění programu se pro tento proces automaticky vygeneruje jedinečný PID. Proces init je první proces, který se spustí, když je spuštěn systém Linux a je mu přiřazena hodnota „1“.

Init je hlavní proces a nelze jej zabít pomocí příkazu kill. Příkaz kill v procesu init je pouze požadavkem na vypnutí systému.

Tato příručka vás provede kroky a několika způsoby, jak ukončit běžící proces pomocí terminálu Linux.

Uživatel root má všechna oprávnění potřebná k ukončení všech procesů. Kořenový shell můžete získat příkazem su nebo přidat sudo před příkaz a spustit jej.

Výchozí signál odeslaný příkazem kill

Zabití procesu odešle zadanému procesu zprávu o ukončení. Mezi dva hlavní typy ukončovacích zpráv patří:

• SIGTERM – Příkaz kill standardně odešle signál SIGTERM. Mělo by umožnit ukončení procesu prostřednictvím jeho normálních vypínacích procedur. Je to šetrnější způsob pokusu o ukončení procesu a může být zablokován.

• SIGKILL – Vždy to náhle ukončí proces. Pokud SIGKILL nefunguje, došlo k selhání operačního systému. Je to nejrychlejší a nejúčinnější metoda, jak zabít proces.

Seznam spuštěných procesů

Příkaz top, příkaz ps a příkaz pidof jsou nejjednoduššími způsoby, jak zobrazit běžící procesy v systému Linux.

Syntaxe:

ps -e | grep name-of-process

Níže uvedený snímek obrazovky ukazuje, jak použít příkaz ps ke kontrole, zda v systému běží MySQL. Poskytuje nám PID démona MySQL, což je 1162.

Běžné možnosti pro přidání do příkazu ps

• -a:zobrazení procesů od všech uživatelů.
• -u:zobrazení podrobných informací o každém procesu.
• -x:zobrazení všech procesů, které jsou řízeny démony.

ps -e

Syntaxe:

top

Horní příkaz vám ukáže PID, uživatele, název prostředku a kolik systémových prostředků každý proces používá. Jsou užitečné, pokud se rozhodnete ukončit některý z procesů.

Použití příkazu pgrep je také velmi efektivní při získávání odpovídajícího ID procesu.

Běžné možnosti pro přidání do příkazu pgrep.

• -l:vypíše názvy procesů a PID.
• -n:vrátí nejnovější proces.
• -o:vrátí nejstarší proces.
• -u:Vyhledá procesy, které patří konkrétnímu uživateli.
• -x:Najde proces, který přesně odpovídá danému vzoru.

Příkaz pidof se používá k nalezení IP procesu, pokud znáte název procesu.

Syntaxe:

pidof <options> <program>

Možnosti:

• -c:Vrátí PID v rámci jednoho kořenového adresáře.
• -o:Vynechá určité PID.
• -s:Vrátí jeden PID.
• -x:Vrátí PID z shelly, které spouštějí skripty.

Proces v Linuxu můžete zabít různými metodami v závislosti na tom, zda znáte PID procesu, název procesu nebo dobu, po kterou proces běží.

příkaz killall

Příkaz killall se používá k ukončení procesů podle názvu. Dokáže zabít více procesů jediným příkazem a ve výchozím nastavení vysílá signál SIGTERM.

Syntaxe:

killall <process>

Možnosti dostupné pomocí příkazu killall:

• -e:Vrátí přesnou shodu názvu procesu.
• -I:Příkaz bude při hledání názvu procesu ignorovat velká a malá písmena.
• -i:Při zabíjení se zeptá na další informace. proces podle názvu.
• -u:Zabije procesy vlastněné zadaným uživatelem systému.
• -v:Poskytne zpětnou vazbu, zda byl proces zabíjení úspěšně proveden.

Příkaz killall může také ukončit procesy v systému Linux na základě doby běhu procesů.

• -o:Tato volba ukončí všechny procesy na delší dobu, než je zadaná doba.
• -y:Tato volba ukončí všechny procesy běžící méně než zadanou dobu.

Příklad:

• killall -o 20m:Příkaz ukončí všechny procesy, které jsou starší než 20 minut.
• Killall -y 20m:Příkaz ukončí všechny procesy běžící po dobu kratší než 15 minut.

příkaz zabít

Příkaz kill ukončí proces, pokud znáte IP adresu procesu.

Syntaxe:

kill <processID>

Příkaz kill zabije jeden proces s daným ID procesu. Příkaz vyšle signál SIGTERM, aby se zastavil a počkal, než proces projde rutinními procedurami vypnutí.

Kill -9 příkaz

Příkaz kill -9 se používá k ukončení nereagujících procesů nebo služeb.

Syntaxe:

kill -9 <processID>

nebo

kill -SIGKILL <processID>

Příkaz kill -9 vyšle signál SIGKILL k okamžitému vypnutí procesu. Příkaz kill -9 obejde standardní vypínací rutinu a všechna neuložená data budou ztracena.

Nereagující programy budou příkaz kill ignorovat, ale ukončí se vždy, když je zadán příkaz kill -9.

Mezi další běžně používané možnosti zabíjení patří:

• -1 (HUP):Toto je možnost „zavěsit“ a je obecně velmi bezpečná.
• -2 (SIGINT):Toto je stejný signál jako Ctrl-C a je považován za bezpečnou alternativu k zabíjení program.
• -15 (-TERM):toto je výchozí signál ukončení a je obecně velmi bezpečný.

Úplný seznam všech dostupných signálů můžete získat pomocí příkazu kill -l.

příkaz pkill

Příkaz pkill ukončí proces, když znáte název procesu. Ve výchozím nastavení odešle pkill signál SIGTERM k ukončení procesu.

Syntaxe:

pkill <options> <pattern>

možnosti pkill:

• -n:Tento příkaz ukončí nejnovější procesy.
• -o:Tento příkaz ukončí nejstarší procesy.
• -u:Tento příkaz ukončí procesy na základě vybraného uživatele.
• -x:Tento příkaz ukončí procesy, které odpovídají vzoru.
• -signal:Odešle zadaný signál jiný než výchozí signál SIGTERM.

xkill

Příkaz xkill ukončí spojení serveru s klienty.

xkill <resource>

Příkaz xkill ukončí nežádoucí procesy serveru.

horní příkaz

Příkaz top poskytuje rozhraní, jehož prostřednictvím může uživatel určit proces ukončení.

Syntaxe:

top

Chcete-li zabít proces pomocí PID, vložte k z rozhraní a poté zadejte specifikované ID procesu.

Rekapitulace

• K ukončení procesu pomocí příkazového řádku musíte mít oprávnění sudo.

• Kdykoli vygenerujete signál pomocí příkazu kill, systém Linux přeruší normální tok provádění cílového procesu.

• Chcete-li najít běžící proces, můžete použít příkazy ps, top, pgrep nebo pidof.

• Proces můžete zabít podle jména nebo ID procesu pomocí příkazů kilall, pkill, kill, xkill nebo top.

• Proces ukončení odešle ukončovací signál SIGTERM, SIGHUP NEBO SIGKILL.

• K ukončení procesu Linux můžete použít nástroj Sledování systému. Lze jej nalézt v systémových nástrojích a poskytuje několik možností, jako je nejvyšší proces, ukončení procesu nebo ukončení procesu.

• Příkaz kill a jeho varianty jsou docela jednoduché na pochopení a použití.

V této příručce jsme zdůraznili různé způsoby, jak zabít procesy v Linuxu. Existuje mírná křivka učení, pokud jde o seznam možností signálu, které nabízí, což je nezbytné pro správnou správu Linuxu. Pokud se chcete dozvědět více, doporučuji podívat se na jejich příslušné manuálové stránky.


Linux
  1. Jak zabít proces v Linuxu pomocí příkazu?

  2. Příklady příkazů kill v Linuxu

  3. Příklady příkazů renice v Linuxu

  1. Jak zabít proces zombie na Linuxu

  2. Příklady příkazů pkill v Linuxu

  3. Linux:zavřete program pomocí příkazového řádku (nezabijte jej)

  1. 8 Příklady příkazů rychlého data v Linuxu

  2. Možnosti příkazu nohup v Linuxu

  3. Zabijte java proces (v linuxu) názvem procesu místo PID