
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ář.