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.