Android

Команда Pstree в Linux

LINUX TIPS #3 - PSTREE, SHOWS RUNNING PROCESSES AS A TREE

LINUX TIPS #3 - PSTREE, SHOWS RUNNING PROCESSES AS A TREE

Оглавление:

Anonim

При работе на компьютере с Linux иногда вам может понадобиться выяснить, какие процессы запущены в данный момент. Существует ряд команд, которые вы можете использовать для поиска информации о запущенных процессах, наиболее часто используемые команды - ps и top ., поговорим о команде pstree . Он похож на ps , но вместо перечисления запущенных процессов он показывает их в виде дерева. Древовидный формат является более удобным способом отображения иерархии процессов и делает вывод более визуально привлекательным.

Как использовать команду pstree

Общий синтаксис команды pstree следующий:

ps

В простейшей форме, когда вызывается без какой-либо опции или аргумента, pstree отображает иерархическую древовидную структуру всех запущенных процессов:

pstree

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

Верхний / корневой элемент в дереве является родительским процессом всех системных процессов. В этом примере это systemd , который является первым процессом, который запускается при загрузке.

pstree объединяет идентичные ветви, помещая их в квадратные скобки и добавляя к ним целое число, представляющее число ветвей. Это делает вывод более читабельным и визуально привлекательным.

Ниже приведен пример, показывающий, как используются квадратные скобки:

├─2*

такой же как:

├─agetty ├─agetty

Чтобы отключить объединение идентичных ветвей, используйте параметр -c :

pstree -c

Потоки процесса отображаются под родительским процессом и отображаются с использованием имени процесса в фигурных скобках. Вот пример:

├─lxcfs───2*

Используйте параметр -t чтобы показать полные имена потоков. Если вы хотите скрыть потоки и показать только процессы, используйте опцию -T .

Как правило, pstree отображает много строк вывода, которые не помещаются на экране. Чтобы просмотреть вывод по одной странице за раз, передайте ее команде less :

pstree | less

Если в качестве аргумента pstree имя пользователя, pstree показывает только процессы, принадлежащие этому пользователю. Например, следующая команда покажет только те процессы, которые были запущены пользователем с именем «linuxize»:

pstree linuxize

Когда в качестве аргумента указывается PID, pstree отображает дерево с заданным процессом в качестве корня дерева. Вот пример:

pstree 1943

sshd───bash───pstree

Чтобы показать родительские процессы данного процесса, используйте параметр -s за которым следует PID процесса:

pstree -s 1943

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

Показать PID и PGID

Обычно при запуске команды pstree наиболее важной информацией, которую ищет пользователь, является идентификатор процесса. Например, знание PID позволяет убить сбойный процесс.

Опция -p указывает pstree показывать PID:

pstree -p

PID указаны в скобках после каждого процесса или потока.

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

По умолчанию, pstree , сортирует процессы с одним и тем же родителем по имени. Опция -n указывает pstree использовать числовую сортировку, то есть сортировку по PID:

pstree -pn

Идентификатор группы процессов или идентификаторы PGID - это идентификаторы процесса первого члена группы процессов. Для просмотра PGID используйте опцию -g :

pstree -g

PID также отображаются в скобках после каждого процесса или потока.

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

Когда отображаются PID или PGID, объединение неявно отключается.

Показать аргументы командной строки

Некоторые программы могут быть вызваны с параметрами конфигурации, указанными в качестве аргументов командной строки.

По умолчанию pstree не показывает аргументы командной строки для запущенных процессов. Чтобы увидеть, как процесс был запущен, используйте команду вместе с опцией -a :

pstree -a

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

Выделив

pstree также позволяет выделять процессы для лучшего визуального представления.

Опция -h указывает pstree выделить текущий процесс и всех его предков.

pstree -h

Чтобы выделить конкретный процесс, используйте параметр -H за которым следует идентификатор процесса:

pstree -H PID_NUMBER

Если выделение не поддерживается, команда завершится с ошибкой.

Вывод

Команда pstree отображает запущенные процессы в виде древовидной структуры.

Чтобы получить информацию обо всех доступных pstree , введите man pstree в своем терминале.

PS терминал