Naučte se Linux

5 rychlých způsobů, jak zabít proces v systému Linux

5 rychlých způsobů, jak zabít proces v systému Linux

Operační systém Linux poskytuje několik způsobů ukončení procesu operačního systému Linux. Zjevným způsobem, jak zastavit program, je kliknout na tlačítko X v levém horním nebo pravém rohu. Existuje však spousta dalších způsobů, jak proces zabít; jsme zde, abychom diskutovali o dalších účinných způsobech.

Způsoby, jak zabít proces v Linuxu

Řídicí 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. Řídicí sekvence Ctrl-C je obecně bezpečná, i když je možná určitá ztráta dat.

Sekvence Ctrl-Z pozastaví spuštěný proces. Odesílá signál SIGTSP do 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 můžete ukončit proces, když přestane reagovat nebo spotřebovává příliš mnoho zdrojů. Proces v systému Linux je instancí programu.

Při spuštění programu se pro tento proces automaticky generuje jedinečný PID. Proces init je první proces, který začíná spuštěním systému Linux a je mu přiřazena hodnota '1'.

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

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

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

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

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

• SIGTERM - Příkaz kill ve výchozím nastavení odešle signál SIGTERM. Mělo by umožnit ukončení procesu prostřednictvím jeho běžných postupů vypnutí. Jedná se o šetrnější způsob pokusu o ukončení procesu a může být zablokován.

• SIGKILL - Vždy to proces náhle zabije. Pokud SIGKILL nefunguje, operační systém selhal. Je to nejrychlejší a nejúčinnější metoda zabití procesu.

Seznam spuštěných procesů

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

Syntax:

ps -e | grep název procesu

Následující snímek obrazovky ukazuje, jak pomocí příkazu ps zkontrolovat, zda v systému běží MySQL. Dává nám PID démona MySQL, který je 1162.

Obrázek ukazuje, jak používat Grep MySQL

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

• -a: prohlížení procesů od všech uživatelů.
• -u: zobrazit podrobné informace o každém procesu.
• -x: zobrazit všechny procesy, které jsou řízeny démony.

ps -e

možnosti přidat do příkazu ps

Syntax:

horní

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 některý z procesů ukončit.

Nejlepší výsledky příkazu

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

Pomocí příkazu pgrep

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

• -l: seznam názvů procesů a PID.
• -n: Vrátí nejnovější proces.
• -o: Vrátí nejstarší proces.
• -u: Najděte procesy, které patří konkrétnímu uživateli.
• -x: Najděte proces, který přesně odpovídá danému vzoru.

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

Syntax:

pidof  

Možnosti:

• -c: Vrátí PID v jednom kořenovém adresáři.
• -o: Vynechá určité PID.
• -s: Vrátit jeden PID.
• -x: Vrátí PID skořápek se spuštěnými skripty.

Proces v systému Linux můžete zabít různými metodami v závislosti na tom, zda znáte PID procesu, název procesu nebo čas, kdy byl proces spuštěn.

příkaz killall

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

Syntax:

zabít všechny 

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 velikost písmen.
• -i: Požádá o další informace, když zabije proces podle jména.
• -u: Zabije procesy vlastněné zadaným uživatelem systému.
• -v: Poskytne zpětnou vazbu o tom, zda byl proces zabití ú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 možnost zabije všechny procesy déle než po stanovenou dobu.
• -y: Tato možnost zabije všechny běžící procesy za méně než stanovenou dobu.

Příklad:

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

příkaz zabít

Příkaz kill zabije proces, pokud znáte IP procesu.

Syntax:

zabít 

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

Zabij příkaz -9

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

Syntax:

zabít -9 

nebo

zabít -SIGKILL 

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

Programy, které nereagují, budou příkaz kill ignorovat, ale budou ukončeny vždy, když bude vydán příkaz kill -9.

Mezi další běžně používané možnosti zabití 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 ukončení programu.
• -15 (-TERM): toto je výchozí ukončovací signál a je obecně velmi bezpečný.

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

Kompletní seznam všech dostupných signálů pomocí příkazu kill -l

příkaz pkill

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

Syntax:

pkill  

možnosti pkill:

• -n: Tento příkaz zabije nejnovější procesy.
• -o: Tento příkaz zabije nejstarší procesy.
• -u: Tento příkaz zabije procesy založené na vybraném uživateli.
• -x: Tento příkaz zabije procesy, které odpovídají vzoru.
• -signal: Odesílá specifikovaný signál jiný než výchozí signál SIGTERM.

xkill

Příkaz xkill ukončí připojení serveru ke klientům.

xkill 

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

nejvyšší příkaz

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

Syntax:

horní

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

Shrnout

• Abyste mohli proces zabít prostřednictvím 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í průběh provádění cílového procesu.

• Chcete-li najít spuštěný 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 zabití odešle signál ukončení SIGTERM, SIGHUP nebo SIGKILL.

• Pomocí nástroje Sledování systému můžete zabít proces Linuxu. Naleznete jej 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 celkem snadno pochopitelné a použitelné.

V této příručce jsme zdůraznili různé způsoby zabíjení procesů v systému Linux. 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, navrhuji podívat se na jejich příslušné manuálové stránky.

Hry Top 10 her k hraní na Ubuntu
Top 10 her k hraní na Ubuntu
Platforma Windows byla jednou z dominujících platforem pro hraní her kvůli velkému procentu her, které se dnes vyvíjejí, aby nativně podporovaly Windo...
Hry 5 nejlepších arkádových her pro Linux
5 nejlepších arkádových her pro Linux
V dnešní době jsou počítače vážné stroje používané k hraní her. Pokud nemůžete získat nové vysoké skóre, budete vědět, co tím myslím. V tomto příspěvk...
Hry Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 Vývoj uvolněn
Battle For Wesnoth 1.13.6 vydané minulý měsíc, je šestým vývojovým vydáním v 1.13.série x a přináší řadu vylepšení, zejména do uživatelského rozhraní,...