Как смотреть процессы в Linux: htop, ps и pstree

процессы линукс

Когда нужно понять, какой процесс кого запустил, обычного списка 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

Понравилась статья? Поделиться с друзьями: