Android

Polecenie Pstree w systemie Linux

How to use the pstree command: Linux tip

How to use the pstree command: Linux tip

Spisu treści:

Anonim

Podczas pracy na komputerze z systemem Linux czasami może być konieczne sprawdzenie, jakie procesy są obecnie uruchomione. Istnieje wiele poleceń, za pomocą których można znaleźć informacje o uruchomionych procesach, przy czym ps i top są najczęściej używanymi., porozmawiamy o poleceniu pstree . Jest podobny do ps , ale zamiast wyświetla listę uruchomionych procesów, pokazuje je w drzewie. Format drzewa jest wygodniejszym sposobem wyświetlania hierarchii procesów i sprawia, że ​​wyniki są bardziej atrakcyjne wizualnie.

Jak korzystać z polecenia pstree

Ogólna składnia komendy pstree jest następująca:

ps

W najprostszej formie, gdy jest wywoływany bez żadnej opcji lub argumentu, pstree wyświetla hierarchiczną strukturę drzewa wszystkich działających procesów:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

Element top / root w drzewie jest procesem nadrzędnym wszystkich procesów systemowych. W tym przykładzie jest to systemd , który jest pierwszym procesem rozpoczynającym się przy starcie systemu.

pstree łączy identyczne gałęzie, umieszczając je w nawiasach kwadratowych i poprzedzając je liczbą całkowitą reprezentującą liczbę gałęzi. To sprawia, że ​​wyniki są bardziej czytelne i atrakcyjne wizualnie.

Poniżej znajduje się przykład pokazujący użycie nawiasów kwadratowych:

├─2*

jest taki sam jak:

├─agetty ├─agetty

Aby wyłączyć scalanie identycznych gałęzi, użyj opcji -c :

pstree -c

Wątki procesu są wyświetlane w procesie nadrzędnym i wyświetlane za pomocą nazwy procesu w nawiasach klamrowych. Oto przykład:

├─lxcfs───2*

Użyj opcji -t , aby wyświetlić pełne nazwy wątków. Jeśli chcesz ukryć wątki i pokazać tylko procesy, użyj opcji -T .

Zazwyczaj pstree wyświetla wiele linii wyjściowych, które nie mieszczą się na ekranie. Aby wyświetlić dane wyjściowe pojedynczo, potokuj je do polecenia less :

pstree | less

Jeśli nazwa użytkownika jest podana jako argument, pstree pokazuje tylko procesy należące do tego użytkownika. Na przykład następujące polecenie pokaże tylko te procesy, które zostały uruchomione przez użytkownika o nazwie „linuxize”:

pstree linuxize

Gdy PID jest określony jako argument, pstree wyświetla drzewo z danym procesem jako korzeń drzewa. Oto przykład:

pstree 1943

sshd───bash───pstree

Aby wyświetlić procesy nadrzędne danego procesu, użyj opcji -s , a następnie PID procesu:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

Pokaż PID i PGID

Zwykle podczas uruchamiania komendy pstree najważniejszą informacją, której szuka użytkownik, jest identyfikator procesu. Na przykład znajomość PID pozwala zabić proces nieprawidłowego działania.

Opcja -p nakazuje pstree pokazać PID:

pstree -p

Identyfikatory PID są wyświetlane w nawiasach po każdym procesie lub wątku.

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

Domyślnie pstree sortuje procesy z tym samym rodzicem według nazwy. Opcja -n mówi pstree aby używało sortowania numerycznego, tj. Sortowania według PID:

pstree -pn

Identyfikator grupy procesów lub PGID to identyfikator procesu pierwszego członka grupy procesów. Aby wyświetlić PGID, użyj opcji -g :

pstree -g

Identyfikatory PID są również wyświetlane w nawiasach po każdym procesie lub wątku.

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

Gdy wyświetlane są PID lub PGID, scalanie jest domyślnie wyłączone.

Pokaż argumenty wiersza poleceń

Niektóre programy można wywoływać z opcjami konfiguracji określonymi jako argumenty wiersza poleceń.

Domyślnie pstree nie wyświetla argumentów wiersza poleceń dla uruchomionych procesów. Aby zobaczyć, jak proces został uruchomiony, użyj polecenia wraz z opcją -a :

pstree -a

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

Wyróżnianie

pstree pozwala również wyróżnić procesy dla lepszej reprezentacji wizualnej.

Opcja -h nakazuje pstree wyróżnić bieżący proces i wszystkich jego przodków.

pstree -h

Aby podświetlić określony proces, użyj opcji -H , a następnie ID procesu:

pstree -H PID_NUMBER

Jeśli podświetlenie nie jest obsługiwane, polecenie zakończy się z błędem.

Wniosek

Komenda pstree wyświetla uruchomione procesy w formie struktury drzewa.

Aby uzyskać informacje o wszystkich dostępnych opcjach pstree , wpisz man pstree w swoim terminalu.

terminal ps