Jak zabíjet programy z terminálu v Linuxu

Linuxové aplikace se v současnosti těší velké oblibě a fungují s vysokou mírou spolehlivosti. Každodenně se objevují aktualizované a vylepšené programy, které nabízejí pokročilé funkce a pomáhají uživatelům maximalizovat potenciál jejich počítačů. Nicméně i přes veškerou snahu o dokonalost se občas stává, že aplikace přestanou reagovat. Když se taková situace objeví u oblíbeného linuxového programu, standardní kliknutí na tlačítko pro uzavření okna nemusí mít žádný efekt. Zablokované programy představují značný problém a mohou narušovat pracovní proces. Proto se v tomto článku podrobně seznámíme s nejefektivnějšími metodami, jak rychle a efektivně ukončit nereagující programy přímo z prostředí terminálu v Linuxu. Prozkoumáme různé příkazy a užitečné nástroje s grafickým rozhraním, které lze pro tento účel také využít.

Upozornění: Na konci tohoto textu naleznete video tutoriál s demonstračními ukázkami.

Použití příkazu Pkill

Jedním z nejjednodušších a nejrychlejších způsobů, jak ukončit proces v Linuxu z příkazové řádky, je použití příkazu
pkill. Tento příkaz je užitečný zejména proto, že nevyžaduje, aby uživatel znal přesné ID procesu (PID). Místo toho lze proces ukončit jednoduše zadáním názvu programu. Níže uvádíme příklad použití příkazu
pkill v praxi:

pkill firefox

Ve většině případů postačí pro ukončení zamrzlého programu použití příkazu
pkill s běžnými uživatelskými právy. Nicméně, občas se setkáme se situací, kdy je nutné použít vyšší oprávnění. Například, pokud potřebujeme ukončit program, který běží pod uživatelským účtem root nebo pod vlastním uživatelským účtem s vyššími privilegii, bude nezbytné přidat před příkaz
sudo.

sudo kill rootprogram

Bohužel ani použití příkazu
pkill s právy roota nemusí být vždy dostačující. Někdy se setkáme s programy, které nelze ukončit standardním způsobem. V takových případech se můžeme uchýlit k použití parametru
-9, který násilně ukončí proces, pokud selžou všechny ostatní pokusy.

sudo pkill -9 rootprogram

Využití Pidof a Kill

Pokud se nepodaří ukončit proces pomocí příkazu
pkill, nabízí se další efektivní alternativa, a to příkaz
kill. Tento příkaz funguje na podobném principu jako
pkill, avšak s tím rozdílem, že vyžaduje zadání ID procesu (PID) namísto pouhého názvu programu. Nevýhodou tohoto postupu je, že před samotným použitím příkazu
kill je nutné zjistit PID cílového programu. Toho lze dosáhnout pomocí příkazu
pidof. Zde je podrobný popis, jak tento postup funguje:

pidof firefox

Po provedení příkazu
pidof se v terminálu zobrazí ID procesu. Například:

pidof firefox

VÝSTUP: 2219

S tímto PID (2219) můžeme nyní použít příkaz
kill k ukončení programu Firefox:

kill 2219

Stejně jako u příkazu
pkill, i v případě, že chceme ukončit proces s vyššími oprávněními (např. root), je třeba před příkaz
kill uvést
sudo:

sudo kill 2219

A konečně, pokud program stále odmítá ukončit, můžeme se pokusit o jeho násilné ukončení pomocí parametru
-9, který funguje obdobně jako u příkazu
pkill:

sudo kill -9 2219

Ukončování programů pomocí Htop

Pokud preferujete alternativní metodu k jednotlivým příkazům pro ukončování nereagujících programů v Linuxu, doporučuje se instalace nástroje HTOP. Stejně jako příkazy pkill a kill, i HTOP lze efektivně používat prostřednictvím SSH a vzdáleně. Vzhledem k tomu, že je HTOP spouštěn v terminálu, je stále velmi praktický pro ukončování procesů. HTOP představuje pokročilejší verzi nástroje TOP pro správu systému, který je součástí většiny linuxových distribucí. Nabízí celou řadu vylepšení, včetně grafického zobrazení využití procesoru/paměti a spuštěných procesů, což usnadňuje sledování a analýzu.

HTOP disponuje dalšími vylepšeními, jako je možnost plynulého horizontálního i vertikálního posouvání bez přerušení činnosti nástroje. Dále umožňuje uživatelům ukončit libovolný proces bez nutnosti znát jeho ID a nabízí několik metod pro ukončení procesů.

Upozornění: Pro správné fungování HTOP je nutná instalace knihovny Ncurses. Můžete ji vyhledat v správci balíčků vaší linuxové distribuce a nainstalovat (pokud ji HTOP nezajistí sám).

Instalace HTOP

Ubuntu

sudo apt install htop

Debian

sudo apt-get install htop

Arch Linux

sudo pacman -S htop

Fedora

sudo dnf install htop

OpenSUSE

sudo zypper install htop

Ostatní Linuxy

Nejnovější verzi HTOP pro vaši linuxovou distribuci získáte tak, že otevřete terminál a pomocí nástroje pro správu balíčků nainstalujete „htop“. Pokud jej nemůžete najít (z jakéhokoli důvodu), doporučujeme navštívit oficiální stránky projektu, stáhnout zdrojový kód a sestavit program sami!

Použití HTOP

Nástroj HTOP spustíte kdykoli otevřením okna terminálu a zadáním příkazu „htop“. Alternativně můžete HTOP spustit i vyhledáním „htop“ v menu aplikací. Měla by existovat také zástupce v sekci „systém“ nebo podobně.

Po otevření nástroje HTOP můžete pomocí kurzorových kláves vybrat proces, který chcete spravovat. Stisknutím klávesy F9 otevřete nabídku „Kill“. Pomocí F6 můžete procesy seřadit a pomocí F3 vyhledat spuštěné programy. Potřebujete nápovědu k použití HTOP? Stisknutím klávesy F1 vyvoláte nabídku nápovědy. Příkaz „man htop“ v terminálu funguje také.

Pokud chcete nástroj HTOP ukončit, jednoduše stiskněte klávesu Q nebo F10.

Je nutné poznamenat, že při násilném ukončování programů z terminálu existuje riziko ztráty neuložené práce. U prohlížečů je možné obnovit karty, ale u ostatních programů budete muset spoléhat na jejich vlastní mechanismy obnovy. Pokud takové mechanismy nejsou k dispozici, může dojít ke ztrátě dat.