pstree
— мощная и полезная команда для отображения запущенных процессов в Linux. Как и его компаньон ps
, он показывает все запущенные процессы, активные в данный момент в вашей системе, вошедшей в систему. Основное отличие состоит в том, что процессы организованы в виде дерева, а не списка. Это дерево показывает процессы в отношениях родитель-потомок. Родительский процесс — это порождающий процесс, который создает все дочерние процессы ниже него.
Структура pf pstree
аналогична иерархическим каталогам в системах Unix, таких как Linux и macOS. Используя эту структуру, вы можете быстро перемещаться по дереву процессов, чтобы узнать, какие процессы порождают или контролируют друг друга. Это позволяет точно устранить проблемные или вышедшие из-под контроля процессы с помощью команды kill
.
Читайте также: Начало работы с командой Awk
Запуск ptree
Чтобы запустить базовую форму команды, откройте окно терминала и введите следующую команду, затем нажмите Enter:
pstree
Одна эта команда покажет список всех запущенных процессов. Процесс на самом верху (в данном случае systemd
) является родительским процессом для всего, что работает на вашем компьютере. Процессы ниже него были созданы или открыты через systemd. Дальнейшие уровни отступов указывают на схожие отношения, очень похожие на генеалогическое древо.<
Запуск ptree
уру pstree можно увидеть на следующем изображении.parent————child(1)————subchild (1) | |--subchild (2) | |-child(2)
По умолчанию процессы с одним родителем будут отсортированы в алфавитном порядке. Существуют и другие способы сортировки в pstree с использованием флагов, о которых мы поговорим ниже.
Использование pstree с флагами
Как и в большинстве программ терминала, pstree
— это нечто большее, чем просто одна команда. В дополнение к основным функциям pstree
, различные флаги могут запускать более сложные выходные данные программы.
Чтобы предоставить информацию, идентифицирующую процесс, мы можем использовать флаги -p
, которые показывают идентификационные номера процесса или PID.
pstree -p
Мы также можем сортировать процессы по PID, а не по имени, с помощью флага -n
.
pstree -np
Вы можете заметить, что вывод pstree
часто обрезается по краю окна терминала. Вы можете управлять этим с помощью флага -l
, который «обертывает» длинные строки по краям экрана терминала.
pstree -l
Использование pstree с флагамиguide-linux-4">
Однако это может затруднить чтение вывода, как вы можете видеть выше.
Показ частей дерева
Вы также можете видеть только части дерева процессов. Есть два способа сделать это. Первый — с флагом -s
, который позволяет вам увидеть родителя указанного вами дочернего процесса. Вы можете вызывать процессы по его PID.
pstree -s 780
Возможно, вам также захочется просмотреть процессы, созданные текущим пользователем. Если вы используете многопользовательскую систему, это может дать вам хорошее представление о том, кто и что делает в вашей системе. В однопользовательской системе это не так информативно. Чтобы увидеть процессы, порожденные пользователем, просто введите имя пользователя после основной команды.
pstree alexander
Там будут показаны все команды, выполненные под учетной записью этого пользователя, будь то с помощью программ, которые пользователь запускает, или с помощью команд, которые он выполняет явно.
Заключение
Как всегда, каждая версия Linux может иметь небольшие изменения в этой команде, но в популярных установках она должна быть очень стандартной. Чтобы получить справку по вашей версии, введите man pstree
в командной строке и нажмите Enter, чтобы открыть страницу руководства по команде или «страницу руководства». Вы также можете просмотреть базовую справочную страницу pstree .