В Linux все процессы, за исключением самого init, происходят от процесса init. Во время загрузки системы ядро инициирует процесс init, который затем создает и управляет другими процессами. Эти процессы образуют иерархические отношения "родитель-ребенок", напоминающие древовидную структуру.
Вы можете отобразить это дерево процессов в Linux, где дочерние процессы сгруппированы под соответствующими родительскими процессами, с помощью команд ps и pstree в терминале.
Шаги для отображения дерева процессов в Linux используя ps
Откройте терминальное приложение, например GNOME Terminal или Konsole.
Используйте команду ps, чтобы вывести список запущенных процессов, принадлежащих вам.
1 | ps -x |
Используйте команду ps, чтобы перечислить эти процессы в иерархической структуре.
1 | ps -x --forest |
К команде можно добавить дополнительные опции, например ps -aux --forest, чтобы увидеть подробности о большем количестве процессов.
Шаги для отображения дерева процессов в Linux используя pstree
Установите pstree, если его еще нет в вашей системе.
1 | sudo apt update && sudo apt install --assume-yes psmisc |
1 | sudo yum install --assumeyes pstree |
Используйте команду pstree для отображения процессов в древовидном формате.
1 | pstree |
Больше опций для pstree
Использование: pstree [-acglpsStuZ] [ -h | -H PID ] [ -n | -N type ] [ -A | -G | -U ] [ PID | USER ]
- -a, --arguments показать аргументы командной строки
- -A, --ascii использовать символы ASCII для рисования строк
- -c, ---compact не уплотнять идентичные поддеревья
- -h, --highlight-all выделить текущий процесс и его предков
- -H PID, --highlight-pid=PID выделить данный процесс и его предков
- -g, --show-pgids показать идентификаторы групп процессов; подразумевает -c
- -G, --vt100 использовать символы рисования строк VT100
- -l, --long не усекать длинные строки
- -n, --numeric-sort сортировать вывод по PID
- -N type, --ns-sort=type сортировка по типу пространства имен (cgroup, ipc, mnt, net, pid,
user, uts) - -p, --show-pids показать PID; подразумевает -c
- -s, --show-parents показать родителей выбранного процесса
- -S, --ns-changes показать переходы между пространствами имен
- -t, --thread-names показать полные имена потоков
- -T, --hide-threads скрыть потоки, показать только процессы
- -u, --uid-changes показать переходы по uid
- -U, --unicode использовать символы рисования строк UTF-8 (Unicode)
- -V, --version отображать информацию о версии
- -Z, ---security-context показать контексты безопасности SELinux
Где
- PID начинать с этого PID; по умолчанию 1 (init)
- USER показывать только деревья, корни которых уходят в процессы этого пользователя