Достаточно часто необходимо понять «родословную» процессов. Кто кого породил. Кто чей потомок.
Получить дерево процессов можно при помощи двух программ:

  1. ps
  2. pstree

У ps можно включить дополнительный параметр f (параметр указывается без тире). Он заставляет программу символами псевдографики показывать взаимоотношения потомок – родитель.

Ниже показана небольшая часть информации, выводимая программой

ps –e f
2647 ?        Ss     0:00 /usr/sbin/acpid
 2665 ?        Ss     0:01 /usr/sbin/sshd
31539 ?        Ss     0:00  \_ sshd: user [priv]
31541 ?        S      0:00      \_ sshd: user@pts/1
31542 pts/1    Ss     0:00          \_ -bash
 2189 pts/1    R+     0:00              \_ ps -e f
 2696 ?        Ss     0:27 clamd
 2731 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql
 2791 ?        Sl     4:55  \_ /usr/libexec/mysqld --basedir=/usr --datadir=/var

Pstree программа незамысловатая, она просто выводит на экран «дерево» процессов.

$ pstree | head -20
init-+-acpid
     |-atd
     |-auditd-+-audispd---{audispd}
     |        `-{auditd}
     |-automount---4*[{automount}]
     |-avahi-daemon---avahi-daemon
     |-clamav-milter---2*[{clamav-milter}]
     |-clamd
     |-crond
     |-cyrus-master-+-18*[imapd]
     |              `-lmtpd
     |-dbus-daemon
     |-dspam
     |-events/0
     |-events/1
     |-gam_server
     |-gpm
     |-hald---hald-runner---hald-addon-acpi
     |-httpd---2*[httpd]
     |-idled
$

Необходимо отметить, что программа pstree, в отличии от ps, не входит в стандарт POSIX.