GNU/Linux >> Znalost Linux >  >> Linux

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

V Linuxu se spuštěná instance programu nazývá proces. Občas, když pracujete na počítači s Linuxem, možná budete muset zjistit, jaké procesy aktuálně běží.

Existuje řada příkazů, které můžete použít k vyhledání informací o běžících procesech pomocí ps , pstree a top jsou ty nejběžněji používané.

Tento článek vysvětluje, jak používat ps k zobrazení seznamu aktuálně spuštěných procesů a zobrazení informací o těchto procesech.

Jak používat ps Příkaz #

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

ps [OPTIONS]

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

  • Možnosti stylu UNIX, kterým předchází jedna pomlčka.
  • Možnosti stylu BSD, použité bez pomlčky.
  • Dlouhé možnosti GNU, před kterými jsou dvě pomlčky.

Různé typy možností lze kombinovat, ale v některých konkrétních případech se mohou objevit konflikty, takže je nejlepší zůstat u jednoho typu možnosti.

Možnosti BSD a UNIX lze seskupit.

V nejjednodušší podobě, při použití bez 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 proces běžící 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. Obvykle při spuštění ps nejdůležitější informací, kterou uživatel hledá, je PID procesu. Znalost PID vám umožní zabít nefunkční proces.
  • TTY - Název řídicího terminálu pro proces.
  • TIME – Kumulativní čas procesoru 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 ps příkaz přichází po spuštění s dalšími možnostmi.

ps příkaz akceptuje obrovské množství možností, které lze použít k zobrazení specifické skupiny procesů a různých informací o procesu, ale pro každodenní použití jich stačí jen hrstka.

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

Formulář BSD :

ps aux
  • a volba říká ps pro zobrazení procesů všech uživatelů. Nejsou zobrazeny pouze procesy, které nejsou spojeny s terminálem, a procesy vedoucích skupin.
  • u znamená uživatelsky orientovaný formát, který poskytuje podrobné informace o procesech.
  • x volba dává pokyn ps k výpisu procesů bez řídicího terminálu. Jsou to hlavně procesy, které se spouštějí při bootu 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 [kthreadd]
...

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

  • USER – Uživatel, který proces spouští.
  • %CPU - Využívání procesoru procesu.
  • %MEM – Procento velikosti rezidentní sady procesu k 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 (běh).
  • START - Čas, kdy příkaz začal.

f volba říká ps k zobrazení stromového zobrazení rodičovských až podřízených procesů:

ps auxf

ps příkaz také umožňuje třídit výstup. Chcete-li například seřadit výstup podle využití paměti, použijte:

ps aux --sort=-%mem

Formulář UNIX :

ps -ef
  • -e volba dává pokyn ps pro zobrazení všech procesů.
  • -f představuje full-format listing, který poskytuje podrobné informace o procesech.

Příkaz zobrazí informace v osmi sloupcích označených UID , PID , PPID , C , TIME , 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 [kthreadd]
...

Š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í CPU procesu.
  • TIME - Stejné jako START , čas, kdy příkaz začal.

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 #

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

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

ps -efo pid,comm
ps auxo pid,comm

Pomocí ps S dalšími příkazy #

ps lze použít v kombinaci s dalšími příkazy prostřednictvím potrubí.

Pokud chcete zobrazit výstup ps příkaz, jednu stránku po druhé propojte do less příkaz:

ps -ef | less

Výstup ps příkaz 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 č.

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

Další informace o ps , zadejte man ps ve vašem terminálu.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. 30 Cvičení procesů Linuxu pro systémové správce

  2. Linuxový příkaz ps

  3. Možnosti příkazu nohup v Linuxu

  1. Linux ls Command - Seznam souborů

  2. Příklady příkazů kill v Linuxu

  3. Příklady příkazů renice v Linuxu

  1. Jak používat příkaz Linux SS

  2. Jak vypsat běžící procesy v Linuxu

  3. Příklady příkazů 20 ps pro monitorování procesů Linuxu