Android

Příkaz Ps v linuxu (seznam procesů)

Azure Friday | Using PowerShell Core with Azure

Azure Friday | Using PowerShell Core with Azure

Obsah:

Anonim

V Linuxu se běžící instance programu nazývá proces. Při práci na počítači se systémem Linux může být nutné zjistit, jaké procesy právě běží.

Existuje mnoho příkazů, které můžete použít k nalezení informací o běžících procesech, přičemž nejčastěji používané jsou ps , pstree a top .

Tento článek vysvětluje, jak pomocí příkazu ps vypsat aktuálně spuštěné procesy a zobrazit informace o těchto procesech.

Jak používat příkaz ps

Obecná syntaxe příkazu ps je následující:

ps

Z historických důvodů a důvodů kompatibility přijímá příkaz ps několik různých typů voleb:

  • Volby stylu UNIX, kterým předchází jediná pomlčka. Volby stylu UND, používané bez pomlčky.GNU dlouhé možnosti, kterým předcházejí dvě pomlčky.

Různé typy voleb lze kombinovat, ale v některých konkrétních případech se mohou objevit konflikty, takže je nejlepší držet se jednoho typu volby.

Možnosti BSD a UNIX lze seskupovat.

Ve své nejjednodušší podobě, když se použije bez jakékoli možnosti, ps vytiskne čtyři sloupce informací pro minimálně dva procesy běžící v aktuálním shellu, samotný shell a procesy, které běží v shellu, když byl příkaz vyvolán.

ps

Výstup obsahuje informace o shellu ( bash ) a procesu spuštěném v tomto shellu ( ps , příkaz, který jste zadali):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Čtyři sloupce jsou označeny PID , TTY , TIME a CMD .

  • PID - ID procesu. Při spuštění příkazu ps obvykle nejdůležitější informace, kterou uživatel hledá, proces PID. Znalost PID vám umožní zabít proces selhání. TTY - Název řídícího terminálu procesu. TIME - kumulativní čas CPU procesu, zobrazený v minutách a sekundách. CMD - Název příkazu, který byl použit ke spuštění procesu.

Výše uvedený výstup není příliš užitečný, protože neobsahuje mnoho informací. Skutečná síla příkazu ps přichází, když je spuštěna s dalšími možnostmi.

Příkaz ps přijímá velké množství možností, které lze použít k zobrazení určité skupiny procesů a různých informací o procesu, ale v každodenním použití je potřeba jen hrstka.

ps se nejčastěji používá s následující kombinací možností:

Formulář BSD:

ps aux

  • Možnost říká ps aby zobrazoval procesy všech uživatelů. Nezobrazují se pouze procesy, které nejsou spojeny s terminálem, a procesy vedoucích skupin. u zkratka pro uživatelsky orientovaný formát, který poskytuje podrobné informace o procesech. Možnost x dává pokyn ps aby ps procesy bez ovládacího terminálu. Jsou to hlavně procesy, které se spouštějí při zavádění systému a běží na pozadí.

Příkaz zobrazí informace v jedenácti sloupcích označených USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME a CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Už jsme vysvětlili štítky PID , TTY , TIME a CMD . Zde je vysvětlení dalších štítků:

  • USER - Uživatel, který proces spouští. %CPU - CPU využití procesu. %MEM - Procento rezidentní nastavené velikosti procesu na fyzické paměti v počítači. VSZ - velikost virtuální paměti procesu v KiB. RSS - Velikost fyzické paměti, kterou proces používá. STAT - kód stavu procesu, například Z (zombie), S (spící) a R (spuštěný). START - Čas, kdy byl příkaz spuštěn.

Možnost f říká ps aby zobrazil stromové zobrazení rodičovského procesu s podřízenými procesy:

ps auxf

Příkaz ps také umožňuje třídit výstup. Například pro třídění výstupu podle využití paměti byste použili:

ps aux --sort=-%mem

UNIXový formulář:

ps -ef

  • Volba -e dává pokyn ps aby zobrazoval všechny procesy. -f stojí na seznamu v plném formátu, který poskytuje podrobné informace o procesech.

Příkaz zobrazí informace v osmi sloupcích označených UID , PID , PPID , C , STIME , TIME a CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Štítky, které ještě nejsou vysvětleny, mají následující význam:

  • UID - Stejné jako USER , uživatel, který proces spouští. PPID - ID nadřazeného procesu. C - Stejné jako %CPU , využití procesního CPU. STIME - stejný jako START , čas, kdy byl příkaz spuštěn.

Chcete-li zobrazit pouze procesy běžící jako konkrétní uživatel, zadejte následující příkaz, kde linuxize je jméno uživatele:

ps -f -U linuxize -u linuxize

Uživatelem definovaný formát

Volba o umožňuje určit, které sloupce se zobrazí při spuštění příkazu ps .

Chcete-li například vytisknout pouze informace o PID a COMMAND , spustíte jeden z následujících příkazů:

ps -efo pid, comm

ps auxo pid, comm

Použití ps s jinými příkazy

ps lze použít v kombinaci s jinými příkazy pomocí potrubí.

ps -ef | less

Výstup příkazu ps lze filtrovat pomocí grep . Chcete-li například zobrazit pouze proces patřící uživateli root, který byste spustili:

ps -ef | grep root

Závěr

Příkaz ps je jedním z nejčastěji používaných příkazů při řešení problémů v systémech Linux. Má mnoho možností, ale většina uživatelů obvykle používá ke shromažďování informací o spuštěných procesech buď ps aux nebo ps -ef .

Další informace o ps zadejte do vašeho terminálu man ps .

ps terminál