GNU/Linux >> Znalost Linux >  >> Linux

Jak vypsat běžící procesy v Linuxu

Úvod

Každá aplikace, kterou používáte, nebo příkaz, který v systému Linux spustíte, vytváří proces nebo úlohu. Jako správce systému budete muset řídit procesy, abyste zajistili optimální výkon systému.

V tomto tutoriálu se budeme zabývat různými příkazy Linuxu, které můžete použít k zobrazení a správě aktuálně spuštěných procesů.

Předpoklady

  • Systém se systémem Linux
  • Účet s právy root nebo sudo
  • Přístup do okna terminálu/příkazového řádku

Procesy v Linuxu

Procesy v Linuxu se spustí pokaždé, když spustíte aplikaci nebo spustíte příkaz. Zatímco každý příkaz vytváří jeden proces, aplikace vytvářejí a spouštějí více procesů pro různé úlohy.

Ve výchozím nastavení začíná každý nový proces jako popředí proces. To znamená, že musí skončit, než může začít nový proces. Běžící procesy na pozadí umožňuje provádět další úkoly současně.

Seznam běžících procesů v Linuxu

Chcete-li zobrazit aktuálně spuštěné procesy, použijte ps , top , htop a top Linuxové příkazy. Můžete také kombinovat ps pomocí příkazu pgrep příkaz k identifikaci jednotlivých procesů.

Vypište seznam běžících procesů v Linuxu pomocí příkazu ps

ps Příkaz Linux vytváří snímek aktuálně běžících procesů. Na rozdíl od ostatních příkazů v tomto seznamu ps prezentuje výstup jako statický seznam, neaktualizovaný v reálném čase.

ps používá následující syntaxi:

ps [options]

Často používané ps možnosti příkazu zahrnují:

  • a :Seznam všech procesů ničení pro všechny uživatele.
  • -A, -e :Seznam všech procesů v systému.
  • -a :Uveďte všechny procesy kromě vedoucích relací (případy, kde je ID procesu stejné jako ID relace) a procesů, které nejsou spojeny s terminálem.
  • -d :Seznam všech procesů kromě vedoucích relací.
  • --deselect, -N :Seznam všech procesů kromě těch, které splňují podmínku definovanou uživatelem.
  • f :Zobrazí hierarchii procesů jako ASCII art.
  • -j :Zobrazuje výstup ve formátu úloh.
  • T :Seznam všech procesů spojených s tímto terminálem.
  • r :Uveďte pouze spuštěné procesy.
  • u :Rozbalte výstup tak, aby zahrnoval další informace, například využití procesoru a paměti.
  • -u :Definujte uživatele, jehož procesy chcete vypsat.
  • x :Zahrnout procesy bez TTY.

Spuštění ps příkaz bez jakýchkoli voleb vytvoří výstup podobný:

Výchozí výstup zahrnuje následující kategorie:

  • PID :Identifikační číslo procesu.
  • TTY :Typ terminálu, na kterém proces běží.
  • ČAS :Celkové množství využití procesoru.
  • CMD :Název příkazu, který spustil proces.

Pomocí kombinace a , u a x možnosti vyústí v podrobnější výstup:

ps aux

Mezi nové kategorie rozšířeného výstupu patří:

  • UŽIVATEL :Jméno uživatele spouštějícího proces.
  • %CPU :Procento využití procesoru.
  • %MEM :Procento využití paměti.
  • VSZ :Celková virtuální paměť použitá procesem v kilobajtech.
  • RSS :Velikost rezidentní sady, část paměti RAM obsazená procesem.
  • STAT :Aktuální stav procesu.
  • START :Čas, kdy byl proces zahájen.

Chcete-li zobrazit běžící procesy v hierarchickém zobrazení, zadejte:

ps -axjf

Filtrujte seznam procesů podle uživatele pomocí:

ps -U [real user ID or name] -u [effective user ID or name] u

Například zobrazení seznamu procesů spuštěných uživatelem s názvem phoenixnap :

ps -U phoenixnap -u phoenixnap u

Vypište seznam běžících procesů v Linuxu pomocí horního příkazu

top zobrazí seznam běžících procesů v pořadí podle klesajícího využití CPU. To znamená, že procesy nejvíce náročné na zdroje se objeví v horní části seznamu:

Výstup top příkaz se aktualizuje v reálném čase s výchozí třísekundovou obnovovací frekvencí. top výstup příkazu obsahuje následující kategorie:

  • PID :Identifikační číslo procesu.
  • UŽIVATEL :Jméno uživatele spouštějícího proces.
  • PR :Priorita plánování pro proces.
  • NI :Pěkná hodnota procesu se zápornými čísly označujícími vyšší prioritu.
  • VIRT :Množství virtuální paměti použité procesem.
  • RES :Množství rezidentní (fyzické) paměti používané procesem.
  • SHR :Celková sdílená paměť použitá procesem.
  • S :Stav procesu – R (běžící) nebo S (spící).
  • %CPU :Procento využití procesoru.
  • %MEM :Procento využití paměti.
  • TIME+ :Celkové využití CPU.
  • PŘÍKAZ :Název příkazu, který spustil proces.

Zatímco top je spuštěn příkaz, použijte následující možnosti pro interakci s ním nebo změnu výstupního formátu:

  • c :Zobrazí absolutní cestu procesu.
  • d :Změňte obnovovací frekvenci výstupu na uživatelem definovanou hodnotu (v sekundách).
  • h :Zobrazí okno nápovědy.
  • k :Zabijte proces poskytnutím PID.
  • M :Seřadit seznam podle využití paměti.
  • N :Seřadit seznam podle PID.
  • r :Změňte hodnotu nice (prioritu) procesu zadáním PID.
  • z :Změňte barvu výstupu, abyste zvýraznili běžící procesy.
  • q :Ukončete příkazové rozhraní.

Vypište seznam běžících procesů v Linuxu pomocí příkazu htop

htop příkaz nabízí stejný výstup jako top příkaz, ale snáze srozumitelným a uživatelsky přívětivým způsobem.

Protože většina distribucí Linuxu tento příkaz neobsahuje, nainstalujte jej pomocí:

sudo apt install htop

Pomocí htop příkaz poskytuje následující výstup:

K interakci s htop použijte následující klávesy příkaz:

  • Směrové klávesy :Posouvejte seznam procesů svisle a vodorovně.
  • F1 :Otevřete okno nápovědy.
  • F2 :Otevřete nastavení příkazu htop.
  • F3 :Vyhledejte proces zadáním názvu.
  • F4 :Filtrujte seznam procesů podle názvu.
  • F5 :Přepínání mezi zobrazením hierarchie procesů jako seřazeného seznamu nebo stromu.
  • F6 :Řazení procesů podle sloupců.
  • F7 :Sníží hodnotu nice (zvýší prioritu) procesu.
  • F8 :Zvýší hodnotu nice (sníží prioritu) procesu.
  • F9 :Zabijte vybraný proces.
  • F10 :Ukončete příkazové rozhraní.

Vypište seznam běžících procesů v Linuxu pomocí příkazu atop

top poskytuje ve srovnání s top komplexnější přehled o běžících procesech příkaz. Začněte instalací top příkaz s:

sudo apt install atop

top příkaz vytvoří výstup podobný:

Sekce záhlaví výstupu příkazu poskytuje přehled systémových prostředků, včetně statistik souvisejících s procesy a výkonem a využití paměti, disku a sítě.

Spodní část uvádí aktuálně spuštěné procesy a obsahuje následující kategorie:

  • PID :Identifikační číslo procesu.
  • SYSCPU :Využití CPU procesem při práci se systémem.
  • USRCPU :Využití CPU procesem při běhu v uživatelském režimu.
  • VGROW :Množství virtuální paměti, kterou proces zabíral od poslední aktualizace výstupu.
  • RGROW :Množství fyzické paměti, kterou proces zabral od poslední aktualizace výstupu.
  • RUID :Skutečné uživatelské ID uživatele, který spustil proces.
  • ST :Aktuální stav procesu.
  • EXC :Kód ukončení po ukončení procesu.
  • THR :Počet vláken, která proces používá.
  • S :Aktuální stav primárního vlákna procesu.
  • CPUNR :Počet CPU použitých procesem.
  • CPU :Procento CPU použité procesem.
  • CMD :Název příkazu, který spustil proces.

Pomocí top příkaz s následujícími možnostmi změní výstupní formát:

  • -a :Zobrazit pouze aktivní procesy.
  • -c :Zobrazit příkazový řádek pro každý proces.
  • -d :Zobrazit informace o disku.
  • -l :Zobrazit celkové hodnoty jako průměr za sekundu.
  • -m :Zobrazit informace o paměti.
  • -n :Zobrazit informace o síti.
  • -s :Zobrazit informace o plánování procesu.
  • -v :Zobrazit podrobný výstup.
  • -y :Zobrazit jednotlivá vlákna.

Pro interakci s top použijte následující příznaky příkaz:

  • a :Seřadit podle nejaktivnějších zdrojů.
  • c :Seřadit podle spotřeby CPU.
  • d :Seřadit podle aktivity disku.
  • m :Seřadit podle využití paměti.
  • n :Seřadit podle síťové aktivity.

Najděte ID procesů pomocí příkazu pgrep

Pomocí pgrep umožňuje vyhledat konkrétní proces. pgrep používá následující syntaxi:

pgrep [process name]

Například pomocí následujícího příkazu vyhledejte firefox proces:

pgrep firefox

Výstup příkazu uvádí PID procesu:

Použití tohoto PID s ps příkaz vám umožní získat více informací o procesu. V tomto příkladu použití PID 1439 poskytuje informace o firefoxu proces:

ps -e | grep 1439

Linux
  1. Jak restartovat (nebo resetovat) běžící proces v Linuxu?

  2. Jak zabít běžící procesy v Linuxu

  3. Jak zabít proces běžící na konkrétním portu v Linuxu?

  1. Jak nastavit limity na uživatelské procesy v Linuxu

  2. Linux API pro výpis běžících procesů?

  3. Jak zabít proces běžící na konkrétním portu v Linuxu?

  1. Jak zabít proces zombie na Linuxu

  2. Jak zabít proces v Linuxu? Příkazy k ukončení

  3. Jak zobrazit seznam běžících procesů Python?