LINUX TIPS #3 - PSTREE, SHOWS RUNNING PROCESSES AS A TREE
Оглавление:
- Как использовать команду
pstree - Показать PID и PGID
- Показать аргументы командной строки
- Выделив
- Вывод
При работе на компьютере с 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
в своем терминале.
Команда Chmod в Linux (права доступа к файлам)
В Linux доступ к файлам управляется через права доступа к файлам, атрибуты и права собственности. В этом руководстве рассказывается, как использовать команду chmod для изменения прав доступа к файлам и каталогам.
Команда Chgrp в Linux (сменить группу)
В Linux каждый файл связан с владельцем и группой и имеет разрешения, которые определяют, какие пользователи могут читать, записывать или выполнять файл. Команда chgrpc меняет групповое владение данными файлами.
Команда cp в linux (копирование файлов)
cp - утилита командной строки для копирования файлов и каталогов в системах Unix и Linux.







