Команды Linux · 3 min read · Jan 18, 2026
Учебник по команде Linux pstree для начинающих (8 примеров)

Поскольку каждый процесс (за исключением самого первого) в системе Linux имеет родителя, иногда проще понять, если все процессы отображаются в виде древовидной структуры. Вам будет приятно узнать, что существует утилита командной строки - названная pstree - которая отображает дерево процессов.
В этом учебнике мы обсудим основы команды pstree, используя несколько простых для понимания примеров. Но прежде чем мы это сделаем, стоит упомянуть, что все примеры здесь были протестированы на машине с Ubuntu 22.04 LTS.
Команда Linux pstree
Как уже упоминалось в начале, команда pstree отображает дерево процессов. Следующий синтаксис:
pstree [options]А вот что говорит о ней страница man:
pstree показывает запущенные процессы в виде дерева. Дерево коренится либо в pid, либо в init, если pid опущен. Если указано имя пользователя, отображаются все деревья процессов, коренящиеся в процессах, принадлежащих этому пользователю.
pstree визуально объединяет идентичные ветви, помещая их в квадратные скобки и префиксируя их количеством повторений, например:
init-+-getty
|-getty
|-getty
`-getty
становится
init---4*[getty]
Дочерние потоки процесса находятся под родительским процессом и отображаются с именем процесса в фигурных скобках, например:
icecast2---13*[{icecast2}]
Если pstree вызывается как pstree.x11, то он предложит пользователю в конце строки нажать Enter и не вернется, пока это не произойдет. Это полезно, когда pstree запускается в xterminal.
Некоторые параметры ядра или монтирования, такие как опция hidepid для procfs, будут скрывать информацию для некоторых процессов. В этих ситуациях pstree попытается построить дерево без этой информации, показывая имена процессов как вопросительные знаки.Следующие примеры в формате вопросов и ответов должны дать вам хорошее представление о том, как работает команда pstree:
Вопрос 1. Как использовать команду pstree?
Основное использование простое: все, что вам нужно сделать, это выполнить ‘pstree’ без каких-либо опций.
pstree
Итак, вы можете видеть, как pstree производит информацию, связанную с процессами, в выводе.
Вопрос 2. Как сделать так, чтобы pstree также включал аргументы командной строки в вывод?
Это можно сделать с помощью опции командной строки -a.
pstree -a
Итак, вы можете видеть, что команда pstree теперь также отображает параметры командной строки для некоторых процессов.
Вопрос 3. Как заставить pstree развернуть идентичные поддеревья в выводе?
По умолчанию команда pstree объединяет идентичные ветви, помещая их в квадратные скобки и префиксируя их количеством повторений. Что-то вроде этого:
Однако, если вы хотите, вы можете заставить инструмент развернуть идентичные деревья, что можно сделать с помощью опции командной строки -c.
pstree -cВопрос 4. Как сделать так, чтобы pstree выделял конкретный процесс?
Если вы хотите, чтобы инструмент выделял конкретный процесс в выводе, используйте опцию командной строки -H.
pstree -H [PID]Где PID - это идентификатор процесса, который вы хотите выделить. Например, я выделил процесс firefox на своей системе, используя следующую команду:
pstree -H 3124Итак, вы можете видеть, что имя ‘firefox’ слегка выделено по сравнению с другими именами.
Вопрос 5. Как сделать так, чтобы pstree отображал идентификаторы групп процессов в выводе?
Для этого используйте опцию командной строки -g.
pstree -g
Итак, вы можете видеть, что идентификаторы групп процессов отображаются как десятичные числа в скобках после каждого имени процесса.
Вопрос 6. Как сделать так, чтобы pstree сортировал процессы по PID?
По умолчанию pstree сортирует процессы с одинаковым предком по имени. Однако, если вы хотите, вы можете заставить pstree сортировать процессы по PID, что можно сделать с помощью опции командной строки -n.
pstree -nОбратите внимание, что этот тип сортировки также известен как числовая сортировка.
Вопрос 7. Как сделать так, чтобы pstree отображал дерево процессов, специфичное для пользователя?
Если вы хотите, чтобы pstree отображал все деревья процессов, коренящиеся в процессах, принадлежащих конкретному пользователю, тогда все, что вам нужно сделать, это передать имя этого пользователя в качестве входных данных для команды.
Например,
pstree himanshuТаким образом, в этом случае был получен следующий вывод на моей системе:

Вопрос 8. Как ограничить Pstree конкретным процессом?
Если вы хотите, чтобы pstree отображал только информацию о родителе и детях для конкретного процесса, используйте опцию -s.
pstree -s [PID]Например, я хотел ограничить вывод Pstree только процессом firefox на своей системе, поэтому я выполнил следующую команду:
pstree -s 3124И вот вывод, который инструмент отобразил:

Заключение
В зависимости от того, какой работой вы занимаетесь, команда pstree может быть очень полезной. Здесь, в этом учебнике, мы обсудили некоторые ключевые параметры командной строки, которые предлагает этот инструмент. Для получения дополнительной информации перейдите на его страницу man.
Get new posts in your inbox
No spam. Unsubscribe anytime.