Řešení nereagujících programů může být obtížná práce, zejména pokud používáte starší hardware. V takovém případě se zmrazení systému stává běžným problémem. Naštěstí existuje v Linuxu spousta způsobů, jak zabít nereagující procesy.
Příkazy kill a pkill poskytují jednoduchá, ale účinná řešení pro ukončení nereagujících zombie procesů z terminálu. V následujících částech je popsáno, jak zabít zablokované procesy v systému Linux pomocí kill a pkill.
Ukončete nereagující procesy pomocí zabití
Příkaz kill v systému Linux vám umožňuje klidně ukončit nereagující procesy. Odešle ukončovací signál procesu. Ve výchozím nastavení odešle kill SIGTERM signál, představovaný číslem signálu 15. Následující příklad používá kill k zastavení procesu s PID 27065.
zabít 27065
Uživatelé mohou posílat další signály zadáním názvu nebo čísla signálu. Například níže uvedené příkazy zabití zastaví proces zombie pomocí SIGKILL systémový signál, představovaný číslem signálu 9.
zabít -9 27065
zabít -SIGKILL 27065
Rozdíl mezi SIGTERM a SIGKILL je v tom, že procesy mohou zachytit a ignorovat signál SIGTERM. Ale SIGKILL je imunní vůči zpracování procesů a okamžitě zabíjí programy.
Seznam všech dostupných signálů můžete zobrazit pomocí níže uvedených příkazů zabití.
zabít -l
zabít -L
Celkově bude SIGKILL vhodnější, když řešení systémových procesů nereagujících. Na druhou stranu, SIGTERM je způsob, jak jít, pokud chcete řádně ukončit zavěšené programy.
Zabijte nereagující procesy pomocí pkill
Příkaz pkill usnadňuje ukončení procesů v systému Linux tím, že nám umožňuje zabíjet programy na základě jejich názvu. Například následující příkaz zabije nano program pomocí pkill.
pkill nano
Stejně jako kill, pkill také standardně odesílá signál SIGTERM. Použijte signál SIGKILL, pokud chcete okamžitě zastavit nereagující proces.
pkill -9 nano
Jak získat ID procesu (PID) procesu
Mít informace PID může být obrovskou pomocí při ukončování nereagujících procesů v systému Linux. Číslo PID procesu můžete získat několika způsoby. Následující příkaz načte PID procesu s názvem nano pomocí příkaz grep a ps.
ps aux | grep nano
Můžete také použít příkaz pgrep, který vyplivne ID procesu přímo.
pgrep nano
Správa nereagujícího procesu v systému Linux
Příkazy kill a pkill usnadňují práci s nereagujícími procesy v systému Linux. Vše, co potřebujete zastavit proces zombie je jeho PID a přístup k shellu. Při zabíjení procesů patřících jinému uživateli však možná budete potřebovat další oprávnění sudo. Pokud tedy používáte víceuživatelský systém, před provedením jakékoli akce požádejte správce, aby vás přidal do seznamu sudoers.
Chcete uživateli Linuxu udělit oprávnění správce? Takto můžete přidat uživatele do seznamu sudoers.
Přečtěte si další
- Linux
- Příkazy pro Linux
- Správa systému
Rubaiat je CS grad se silnou vášní pro open-source. Kromě toho, že je veteránem Unixu, věnuje se také zabezpečení sítě, kryptografii a funkčnímu programování. Je vášnivým sběratelem knih z druhé ruky a má nekonečný obdiv ke klasickému rocku.
Přihlaste se k odběru našeho zpravodaje
Připojte se k našemu zpravodaji s technickými tipy, recenzemi, bezplatnými elektronickými knihami a exkluzivními nabídkami!
Ještě jeden krok…!
V e-mailu, který jsme vám právě poslali, potvrďte svou e-mailovou adresu.