How to use the pstree command: Linux tip
Obsah:
- Jak používat příkaz
pstree
- Zobrazit PID a PGID
- Zobrazit argumenty příkazového řádku
- Zvýraznění
- Závěr
Při práci na počítači se systémem Linux někdy budete možná muset zjistit, jaké procesy jsou aktuálně spuštěny. Existuje mnoho příkazů, které můžete použít k nalezení informací o spuštěných procesech, přičemž nejčastěji používané jsou
ps
a
top
., budeme mluvit o příkazu
pstree
. Je to podobné
ps
, ale namísto výpisu spuštěných procesů je zobrazuje ve stromu. Stromový formát je pohodlnější způsob, jak zobrazit hierarchii procesů a zvýšit vizuální přitažlivost výstupu.
Jak používat příkaz
pstree
Obecná syntaxe příkazu
pstree
je následující:
ps
Ve své 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* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…
Horní / kořenová položka 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ý začíná nabootovat.
pstree
slučuje identické větve jejich umístěním do hranatých závorek a předponou je 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 použití hranatých závorek:
├─2*
je stejné jako:
├─agetty ├─agetty
Chcete-li zakázat slučování identických větví, použijte volbu
-c
:
pstree -c
Vlákna procesu jsou zobrazena pod nadřazeným procesem a zobrazena pomocí názvu procesu uvnitř složených závorek. Zde je příklad:
├─lxcfs───2*
Použijte volbu
-t
k zobrazení úplných názvů vláken. Pokud chcete skrýt vlákna a zobrazit pouze procesy, použijte volbu
-T
.
pstree
obvykle zobrazuje mnoho řádků výstupu, které se nevejdou na obrazovku. Chcete-li zobrazit výstup po jedné stránce najednou, posuňte ji na příkaz
less
:
pstree | less
Pokud je uživatelské jméno uvedeno jako argument,
pstree
zobrazuje pouze procesy, které daný uživatel vlastní. Například následující příkaz zobrazí pouze ty procesy, které byly spuštěny uživatelem s názvem „linuxize“:
pstree linuxize
Pokud je jako argument zadán PID,
pstree
zobrazí strom s daným procesem jako kořen stromu. Zde je příklad:
pstree 1943
sshd───bash───pstree
Chcete-li zobrazit nadřazené procesy daného procesu, použijte volbu
-s
následovanou procesem PID:
pstree -s 1943
systemd───sshd───sshd───bash───pstree
Zobrazit PID a PGID
Při spuštění příkazu
pstree
obvykle nejdůležitější informace, kterou uživatel hledá, ID procesu. Například znát PID vám umožní zabít proces selhání.
Volba
-p
dá pokyn
pstree
aby zobrazoval PID:
pstree -p
PID jsou zobrazeny v závorkách po každém procesu nebo podprocesu.
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řadí procesy se stejným rodičem podle názvu. Volba
-n
říká
pstree
aby používal číselné řazení, tj. Třídění podle PID:
pstree -pn
ID skupiny procesů nebo PGID je ID procesu prvního člena skupiny procesů. Chcete-li zobrazit PGID, použijte volbu
-g
:
pstree -g
PID jsou také uvedeny v závorkách po každém procesu nebo podprocesu.
systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…
Když jsou zobrazeny 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í vám
pstree
nezobrazuje argumenty příkazového řádku pro spuštěné procesy. Chcete-li zobrazit, jak byl proces spuštěn, použijte příkaz společně s volbou
-a
:
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.
Možnost
-h
dá pokynu
pstree
aby zvýraznil aktuální proces a všechny jeho předky.
pstree -h
Chcete-li zvýraznit konkrétní proces, použijte volbu
-H
následovanou ID procesu:
pstree -H PID_NUMBER
Pokud zvýraznění není podporováno, příkaz skončí s chybou.
Závěr
Příkaz
pstree
zobrazuje spuštěné procesy ve formě stromové struktury.
Informace o všech dostupných možnostech
pstree
zadejte do svého terminálu
man pstree
.
Příkaz Chmod v Linuxu (oprávnění souboru)

V Linuxu je přístup k souborům spravován prostřednictvím oprávnění k souborům, atributů a vlastnictví. Tento tutoriál popisuje, jak pomocí příkazu chmod změnit přístupová oprávnění k souborům a adresářům.
Příkaz Chgrp v Linuxu (změna skupiny)

V systému Linux je každý soubor spojen s vlastníkem a skupinou a má oprávnění, která určují, kteří uživatelé mohou soubor číst, zapisovat nebo provádět. Příkaz chgrpc mění vlastnictví dané soubory ve skupině.
Příkaz Cp v Linuxu (kopírování souborů)

cp je obslužný program příkazového řádku pro kopírování souborů a adresářů v systémech Unix a Linux.