GNU/Linux >> Znalost Linux >  >> Linux

Příkaz Pstree v Linuxu

Při práci na počítači se systémem Linux někdy 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 a top jsou ty nejběžněji používané.

V tomto článku budeme hovořit o pstree příkaz. Je to podobné jako ps , ale místo výpisu běžících procesů je zobrazuje ve stromu. Stromový formát je pohodlnější způsob zobrazení hierarchie procesů a dělá výstup vizuálně přitažlivějším.

Jak používat pstree Příkaz #

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

ps [OPTIONS] [USER or PID]

V nejjednodušší podobě, když je vyvolán bez jakékoli možnosti nebo argumentu, pstree zobrazí hierarchickou stromovou strukturu všech běžících procesů:

pstree
systemd─┬─VBoxService───7*[{VBoxService}]
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─2*[agetty]
        ├─atd
        ├─cron
        ├─dbus-daemon
        ├─irqbalance───{irqbalance}
        ├─2*[iscsid]
        ├─lvmetad
        ├─lxcfs───2*[{lxcfs}]
        ├─networkd-dispat───{networkd-dispat}
        ├─nginx───2*[nginx]
...

Položka top/root ve stromu je nadřazeným procesem všech systémových procesů. V tomto příkladu je to systemd , což je první proces, který se spustí při spouštění.

pstree sloučí identické větve tak, že je vloží do hranatých závorek a předponu jim celým číslem, které představuje počet větví. Díky tomu je výstup čitelnější a vizuálně přitažlivější.

Níže je uveden příklad, jak se používají hranaté závorky:

├─2*[agetty]

je stejný jako:

├─agetty        
├─agetty

Chcete-li zakázat sloučení identických větví, použijte -c možnost:

pstree -c

Vlákna procesu jsou zobrazena pod nadřazeným procesem a zobrazena pomocí názvu procesu ve složených závorkách. Zde je příklad:

├─lxcfs───2*[{lxcfs}]

Použijte -t možnost zobrazit celé názvy vláken. Pokud chcete skrýt vlákna a zobrazit pouze procesy, použijte -T možnost.

Obvykle pstree zobrazuje mnoho řádků výstupu, které se nevejdou na obrazovku. Chcete-li výstup zobrazit po jedné stránce, přesuňte jej do less příkaz:

pstree | less

Pokud je jako argument uvedeno uživatelské jméno, pstree zobrazuje pouze procesy vlastněné tímto uživatelem. Například následující příkaz zobrazí pouze ty procesy, které byly spuštěny uživatelem jménem „linuxize“:

pstree linuxize

Když je jako argument zadán PID, pstree zobrazí strom s daným procesem jako kořenem stromu. Zde je příklad:

pstree 1943
sshd───bash───pstree

Pro zobrazení nadřazených procesů daného procesu použijte -s možnost následovaná PID procesu:

pstree -s 1943
systemd───sshd───sshd───bash───pstree

Zobrazit PID a PGID #

Obvykle při spuštění pstree nejdůležitější informací, kterou uživatel hledá, je ID procesu. Například znalost PID vám umožní zabít nefunkční proces.

-p volba instruuje pstree pro zobrazení PID:

pstree -p

PID jsou uvedeny v závorkách za každým procesem nebo vláknem.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956)
           │                  ├─{VBoxService}(957)
           │                  ├─{VBoxService}(958)
           │                  ├─{VBoxService}(959)
           │                  ├─{VBoxService}(960)
           │                  ├─{VBoxService}(961)
           │                  └─{VBoxService}(962)
...

Ve výchozím nastavení pstree , seřaďte procesy se stejným rodičem podle názvu. -n volba říká pstree použít číselné řazení, tj. řazení podle PID:

pstree -pn

ID skupiny procesů nebo PGID je ID procesu prvního člena skupiny procesů. Pro zobrazení PGID použijte -g možnost:

pstree -g

PID jsou také uvedeny v závorkách za každým procesem nebo vláknem.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  ├─{VBoxService}(954)
           │                  └─{VBoxService}(954)
...

Když se zobrazí PID nebo PGID, sloučení je implicitně zakázáno.

Zobrazit argumenty příkazového řádku #

Některé programy lze vyvolat s konfiguračními možnostmi zadanými jako argumenty příkazového řádku.

Ve výchozím nastavení pstree nezobrazí argumenty příkazového řádku pro běžící procesy. Chcete-li zobrazit, jak byl proces spuštěn, použijte příkaz společně s -a možnost:

pstree -a
...
  ├─agetty -o -p -- \\u --keep-baud 115200,38400,9600 ttyS0 vt220
  ├─agetty -o -p -- \\u --noclear tty1 linux
...

Zvýraznění #

pstree také umožňuje zvýraznit procesy pro lepší vizuální reprezentaci.

-h volba instruuje pstree pro zvýraznění aktuálního procesu a všech jeho předků.

pstree -h

Chcete-li zvýraznit konkrétní proces, použijte -H možnost následovaná ID procesu:

pstree -H PID_NUMBER

Pokud zvýraznění není podporováno, příkaz se ukončí s chybou.

Závěr č.

pstree příkaz zobrazí běžící procesy ve formě stromové struktury.

Informace o všech dostupných pstree možnosti zadejte man pstree ve vašem terminálu.

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


Linux
  1. Jak zabít proces v Linuxu pomocí příkazu?

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

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

  1. Linuxový příkaz mv

  2. Linux du command

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

  1. Linuxový ip příkaz

  2. Linux cd příkaz

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