Linux: jak zabít proces pomocí příkazů terminálu

Představte si, že jste spustili program, pracujete s ním a po chvíli přestane reagovat na požadavky a visí. Aplikace nelze znovu spustit, protože její kopie stále visí v paměti počítače. Co dělat v tomto případě? Nejprve je třeba vypnout program a proces vyjmout z paměti. Nejjednodušší a nejobecnější způsob, jak zabít proces v systému Linux, je používat příkazy terminálu. Tato možnost bude fungovat na libovolné distribuci systému Linux.

Procesy v Linuxu

V operačním systému Linux se proces obvykle nazývá běžící program nebo program. Proces může být také nazýván jakýmkoli úkolem, který právě běží v systému Linux. Každý běžící proces může spustit dítě.


Všechny procesy běžící na Linuxu mají následující atributy:
  • PID je jedinečný identifikátor pro každý proces.
  • PPID je identifikátor nadřazeného procesu.
  • ID uživatele, které zahájil proces.
  • Priorita.
  • Stav procesu.
  • Každý běžící proces je v jednom ze stavů:
  • "Executing". Na označení tohoto stavu se používá písmeno R.
  • Proces, který spustil provoz systému, například vstupní nebo výstupní data, a čeká na dokončení, se nazývá "očekávání". Ovlivněno písmenem S.
  • Proces zastavený uživatelem nebo operačním systémem Linux je "zastaven". Tento stav je označen symbolem T.
  • "Zombie" jsou procesy, které již nejsouSpouštěcí, ale náročné zdroje operačního systému. Označeno písmenem Z.
  • Neustálý proces může být dokončen, dokud není operace přímého přístupu dokončena v paměti. Proces je označen D.
  • Vyhledávání procesů

    Předtím, než se pokusíte zabít proces, musíte ho nejprve najít. Často pro tento účel Linux používá dva příkazy top a ps.


    Použití horního příkazu

    Horní příkaz zobrazí úplný seznam aktuálních procesů. Kromě toho obsahuje seznam mnoho užitečných informací o každém běhu procesu, například:
  • PID - jedinečné číslo procesu;
  • USER je uživatelské přihlašovací jméno, které spustilo tento proces;
  • PR - priorita procesu v daném čase;
  • NI - priorita přidělená procesu týmem NICE;
  • S je stav tohoto procesu;
  • % CPU - kolik procesoru trvá tento proces (v procentech);
  • % MEM - množství paměti RAM, které tento proces trvá (v procentech);
  • TIME + - jaký čas uplynul od zahájení procesu;
  • COMMAND - Program, který zahájil proces.
  • Zobrazí se informace poskytnuté příkazem top, seřazené podle úrovně používaného procesoru (sloupec% CPU). Uživatel může změnit pořadí třídění:
  • třídění procesů podle množství obsazené paměti (sloupec% MEM) je třeba stisknout kombinaci kláves Shift + M;
  • lze třídit podle čísla procesu (sloupec PID) pomocí kombinace Shift + N;
  • řazení podle času (sloupec TIME +) - Shift + T.
  • zpět napočáteční řazení podle úrovně zatížení CPU - stiskněte kombinaci kláves Shift + P.

    Použití příkazu ps

    Pomocí příkazu top můžete získat spoustu potřebných informací, ale nejde o nejvhodnější způsob, jak získat potřebné informace o procesu, který chcete. Můžete použít příkaz ps a filtrovat seznam příkazem greep, abyste se vyhnuli hledání požadovaného procesu. Pokud například chcete najít všechny procesy spojené s běžným prohlížečem Opera, můžete zadat příkaz ps axu | grep Mozilla.
    Příkaz ps má následující parametry:
  • a - zobrazit procesy pro všechny uživatele;
  • u - zobrazuje uživatele, který proces vlastní;
  • x - zobrazují procesy, které nejsou připojeny k terminálu. Tato možnost je důležitá při hledání informací o grafické aplikaci.
  • Pomocí odkazu příkazů ps a grep můžete získat všechny informace potřebné k zničení omezené aplikace.

    Další způsoby hledání procesu

    Pro nalezení procesu PID jeho jménem existuje příkaz pidof. Formát jeho použití je následující: pidof + název programu. Chcete-li například najít všechny PID, které patří do programu Opera, musíte zadat pidof Opera. V některých případech se stane, že program dokončil jeho spuštění, ale nevydal síťový port. Chcete-li získat informace, které v tomto případě potřebujete zadat příkaz fixační jednotka: fuser -vn tcp 80. Kde 80 je číslo zavěšeného portu. Poté můžete zabít proces Linuxu na portu.

    Dokončení procesu příkazem kill

    Jakmile znáte proces PID a jeho název, můžetespusťte operaci a dokončete nepotřebný program. Chcete-li to provést, použijte dva příkazy: kill - kill id proces Linux a killall - dokončete program podle jména.
    Struktura příkazu kill: kill SIGNAL PID. Kde je signálem SIGNAL, který má být odeslán, a PID je ID procesu.
    Parametr SIGNAL pro dokončení procesu je 9 (SIGKILL). Chcete-li zabít proces pid v systému pid s Linuxem, musíte zadat příkaz: kill -99578. Kde je 9578 jedinečné číslo procesu. Příkaz dokončení není jediný, který lze odeslat pomocí aplikace zablokování systému. Získejte seznam všech příkazů, které lze odeslat příkazu pomocí kill, zadáním příkazu kill -l.
    ​​Také je užitečné znát další hodnoty, které parametr SIGNAL může přijmout. Například můžete použít parametr HUP pro opětovné načtení zkráceného programu. Signál SIGTERM program okamžitě nepřerušuje, ale poskytuje čas na správné vypnutí, tj. Program ukládá data, dokončuje jeho spuštění a uvolňuje veškeré obsazené zdroje.

    Jak zabít proces v systému Linux podle jména

    Pokud znáte název programu, který chcete spustit, můžete použít příkaz killall. Chcete-li například zničit všechny procesy, které souvisejí s aplikací Opera, musíte zadat příkaz: killall -9 Opera.
    Tento tým však ne vždy dokončí procesy týkající se zničeného programu. Pokud po provedení výše uvedeného příkazu zadáte kombinaci ps aux | | grep Opera a uvidíte, že některé procesy jsou stále spuštěné, je nejlepší je doplnit systémem zabít. InV některých případech může zabránit procesu, který běží v Linuxu jiným uživatelem, vyžadovat oprávnění správce. Potom před procesem dokončení příkazu musíte zadat příkaz sudo. Zde jsou všechny informace, které uživatel potřebuje k řízení procesů. Je pravda, že toto téma není pro začátečníky jednoduché, ale musíte je zvládnout, protože všechny akce operačního systému jsou prováděny prostřednictvím procesů. Chcete-li se naučit, jak je spravovat, musíte trochu pracovat.

    Související publikace