PTREE(1) User Commands PTREE(1)

ptreeprint process trees

ptree [-a] [-c] [-g] [-w] [-s svc] [-z zone] [pid | user]...

The ptree utility prints the process trees containing the specified pids or users, with child processes indented from their respective parent processes. An argument of all digits is taken to be a process-ID, otherwise it is assumed to be a user login name. The default is all processes.

The following options are supported:

All. Print all processes, including children of process 0.
Contracts. Print process contract memberships and their associated SMF FMRIs, in addition to parent-child relationships. See process(5). This option implies the -a option.
Use line drawing characters. If the current locale is a UTF-8 locale, the UTF-8 line drawing characters are used, otherwise ASCII line drawing characters are used.
svc
Print only processes with an SMF service FMRI matching the argument. The FMRI may be in truncated form (such as ‘console-login’). This includes child processes even if they are not members of the service contract. See process(5).
Allow output lines to wrap. Normally output lines are truncated to the current width of the terminal window.
zone
Zones. Print only processes in the specified zone. Each zone ID can be specified as either a zone name or a numerical zone ID.

This option is only useful when executed in the global zone.

The following operands are supported:

pid
Process-id or a list of process-ids. ptree also accepts /proc/ as a process-id, so the shell expansion /proc/* can be used to specify all processes in the system.
user
Username or list of usernames. Processes whose effective user IDs match those given are displayed.

/proc/*
process files

The ptree utility exits 0 on success, and >0 if an error occurs.

Using ptree

The following example prints the process tree (including children of process 0) for processes which match the command name :

$ ptree -a `pgrep ssh`
        1     /sbin/init
          100909 /usr/lib/ssh/sshd
            569150 /usr/lib/ssh/sshd
              569157 /usr/lib/ssh/sshd
                569159 -ksh
                  569171 bash
                    569173 /bin/ksh
                      569193 bash

The following example prints the process tree (including children of process 0) for processes which match the command name ‘ssh’ with ASCII line drawing characters:

$ ptree -ag `pgrep ssh`
        1     /sbin/init
        `-100909 /usr/lib/ssh/sshd
          `-569150 /usr/lib/ssh/sshd
            `-569157 /usr/lib/ssh/sshd
              `-569159 -ksh
                `-569171 bash
                  `-569173 /bin/ksh
                    `-569193 bash

Not-an-Interface

pargs(1), pgrep(1), pkill(1), preap(1), proc(1), ps(1), contract(5), proc(5), process(5), attributes(7), zones(7)

January 9, 2025 OmniOS