Когда нужно понять, какой процесс кого запустил, обычного списка ps часто недостаточно. Намного удобнее посмотреть процессы в виде дерева: родительский процесс -> дочерние процессы -> подпроцессы. Есть несколько простых способов.
1️⃣ Дерево процессов в htop. Если htop уже установлен, нажмите: t. Это переключит список в режим Tree View. Так удобно быстро посмотреть структуру процессов прямо в интерактивном интерфейсе: например, какие worker-процессы запустил nginx, systemd или приложение.
Но если процессов много и вывод нужно спокойно изучить, интерактивный интерфейс бывает не самым удобным.
2️⃣ Команда ps axf Консольный вариант:
ps axf
Ключ f показывает процессы в виде ASCII-дерева. Если вывод большой, его можно сохранить в файл:
ps axf > ~/process-tree.txt После этого список удобно открыть в редакторе, искать по нему и прикладывать к разбору инцидента. Более информативный вариант:
ps -eo user,pid,ppid,stat,lstart,cmd --forest Здесь дополнительно видны пользователь, PID, PPID, статус, время запуска и полная команда. 3️⃣ Утилита pstree.pstreeвходит в пакетpsmisc, который часто уже установлен в системе. Установка:
apt install psmisc Базовый запуск:
pstree
Показать PID:
pstree -p
Показать аргументы команд:
pstree -a Вывести дерево для конкретного процесса:
pstree -p 1234
Или для пользователя:
pstree -p username
Полезные параметры:
-p — показывает PID
-a — показывает аргументы командной строки
-n — сортирует процессы по PID
-u — показывает смену пользователя
-s — показывает родителей указанного процесса
-c — не объединяет одинаковые ветки
Например:
pstree -p -a -u