Help

$ pstree --help
pstree: unrecognized option '--help'
Usage: pstree [ -a ] [ -c ] [ -h | -H PID ] [ -l ] [ -n ] [ -p ] [ -g ] [ -u ]
              [ -A | -G | -U ] [ PID | USER ]
       pstree -V
Display a tree of processes.
  -a, --arguments     show command line arguments
  -A, --ascii         use ASCII line drawing characters
  -c, --compact       don't compact identical subtrees
  -h, --highlight-all highlight current process and its ancestors
  -H PID,
  --highlight-pid=PID highlight this process and its ancestors
  -g, --show-pgids    show process group ids; implies -c
  -G, --vt100         use VT100 line drawing characters
  -l, --long          don't truncate long lines
  -n, --numeric-sort  sort output by PID
  -N type,
  --ns-sort=type      sort by namespace type (ipc, mnt, net, pid, user, uts)
  -p, --show-pids     show PIDs; implies -c
  -s, --show-parents  show parents of the selected process
  -S, --ns-changes    show namespace transitions
  -u, --uid-changes   show uid transitions
  -U, --unicode       use UTF-8 (Unicode) line drawing characters
  -V, --version       display version information
  -Z,
  --security-context   show SELinux security contexts
  PID    start at this PID; default is 1 (init)
  USER   show only trees rooted at processes of this user

Manual

$ man pstree
PSTREE(1)                                                User Commands                                                PSTREE(1)
NAME
       pstree - display a tree of processes
SYNOPSIS
       pstree [-a, --arguments] [-c, --compact] [-h, --highlight-all, -Hpid, --highlight-pid pid] [-g] --show-pgids]
       [-l, --long] [-n, --numeric-sort] [-N, --ns-sortns [-p, --show-pids] [-s, --show-parents] [-S, --ns-changes]
       [-u, --uid-changes] [-Z, --security-context] [-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]
       pstree -V, --version
DESCRIPTION
       pstree  shows  running processes as a tree.  The tree is rooted at either pid or init if pid is omitted.  If a user name
       is specified, all process trees rooted at processes owned by that user are shown.
       pstree visually merges identical branches by putting them in square brackets and  prefixing  them  with  the  repetition
       count, e.g.
           init-+-getty
                |-getty
                |-getty
                `-getty
       becomes
           init---4*[getty]
       Child threads of a process are found under the parent process and are shown with the process name in curly braces, e.g.
           icecast2---13*[{icecast2}]
       If  pstree  is  called  as  pstree.x11  then it will prompt the user at the end of the line to press return and will not
       return until that has happened.  This is useful for when pstree is run in a xterminal.
       Certain kernel or mount parameters, such as the hidepid option for procfs, will hide information for some processes.  In
       these  situations  pstree  will  attempt  to  build the tree without this information, showing process names as question
       marks.
OPTIONS
       -a     Show command line arguments.  If the command line of a process is swapped out, that process is shown in parenthe‐
              ses.  -a implicitly disables compaction for processes but not threads.
       -A     Use ASCII characters to draw the tree.
       -c     Disable compaction of identical subtrees.  By default, subtrees are compacted whenever possible.
       -G     Use VT100 line drawing characters.
       -h     Highlight the current process and its ancestors.  This is a no-op if the terminal doesn't support highlighting or
              if neither the current process nor any of its ancestors are in the subtree being shown.
       -H     Like -h, but highlight the specified process instead.  Unlike with -h, pstree fails when using -H if highlighting
              is not available.
       -g     Show  PGIDs.   Process Group IDs are shown as decimal numbers in parentheses after each process name.  -p implic‐
              itly disables compaction.  If both PIDs and PGIDs are displayed then PIDs are shown first.
       -l     Display long lines.  By default, lines are truncated to the display width or 132 if output is sent to  a  non-tty
              or if the display width is unknown.
       -n     Sort processes with the same ancestor by PID instead of by name.  (Numeric sort.)
       -N     Show  individual  trees  for  each namespace of the type specified.  The available types are: ipc, mnt, net, pid,
              user, uts.  Regular users don't have access to other users' processes information, so the output will be limited.
       -p     Show PIDs.  PIDs are shown as decimal numbers in parentheses after each process  name.   -p  implicitly  disables
              compaction.
       -s     Show parent processes of the specified process.
       -S     Show namespaces transitions.  Like -N, the output is limited when running as a regular user.
       -u     Show  uid transitions.  Whenever the uid of a process differs from the uid of its parent, the new uid is shown in
              parentheses after the process name.
       -U     Use UTF-8 (Unicode) line drawing characters.  Under Linux 1.1-54 and above, UTF-8 mode is entered on the  console
              with echo -e ' 33%8' and left with echo -e ' 33%@'
       -V     Display version information.
       -Z     (SELinux)  Show  security context for each process.  This flag will only work if pstree is compilied with SELinux
              support.
FILES
       /proc  location of the proc file system
BUGS
       Some character sets may be incompatible with the VT100 characters.
SEE ALSO
       ps(1), top(1).
psmisc                                                     2012-07-28                                                 PSTREE(1)

Example

$ pstree
systemd─┬─AliYunDun───18*[{AliYunDun}]
        ├─AliYunDunUpdate───3*[{AliYunDunUpdate}]
        ├─CmsGoAgent.linu───27*[{CmsGoAgent.linu}]
        ├─2*[agetty]
        ├─aliyun-service───5*[{aliyun-service}]
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon
        ├─dhclient
        ├─irqbalance
        ├─java─┬─controller───2*[{controller}]
        │      └─198*[{java}]
        ├─mysqld───45*[{mysqld}]
        ├─nginx───nginx
        ├─node─┬─node───9*[{node}]
        │      └─9*[{node}]
        ├─ntpd
        ├─php-fpm───20*[php-fpm]
        ├─polkitd───5*[{polkitd}]
        ├─redis-server───3*[{redis-server}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd───sshd───bash───pstree
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        └─tuned───4*[{tuned}]