9.2.1. Иерархия процессов: ps и pstree

9.2.1. Иерархия процессов: ps и pstree

О том, что команда ps позволяет просмотреть сведения обо всех процессах, протекающих в системе в данный момент, вы уже знаете (п.3.2). С ключом -f эта команда выводит как PID самого процесса, так и PPID его родителя, то есть по ее выводу можно восстановить всю структуру дерева процессов до их общего предка — процесса init. «Древовидный» взгляд может понадобиться, например, если вам нужно уничтожить целую группу процессов, происходящих от общего предка: в этом случае вы можете не убивать их по очереди, а просто послать сигнал TERM их родительскому процессу.

Команда pstree представляет дерево процессов сразу в наглядном виде:

$ pstree

init?acpid

    ?atd

    ?bonobo-activati

   ...

    ?crond

    ?gconfd-2

    ?gdm-binary??gdm-binary?X

    ?                      ?gnome-session

    ?gnome-panel

    ?gnome-settings-

    ?gnome-terminal?bash?pstrее

    ?              ?bash?su?bash?man?sh?sh—i?less

    ?              ?                        ??nroff—iconv

    ?              ?bash?su?bash

    ?              ?gnome-pty-helpe

   ...

    ?syslogd

    ?udevd

    ?xinetd

Ключ -p выводит вместе с именем процесса его PID, а ключ -u — имя пользователя, запустившего процесс. Если в качестве аргумента указать PID, то команда выведет не все дерево, а только ветку потомков процесса с этим PID. Имя пользователя в качестве аргумента требует вывести все ветки процессов, запущенных этим пользователем: у них общего предка может и не быть.

Данный текст является ознакомительным фрагментом.