Print this page
11691 ptree could show service FMRIs
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Jason King <jason.king@joyent.com>
Reviewed by: Andy Fiddaman <andy@omniosce.org>
   1 '\" te
   2 .\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.

   3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   6 .TH PTREE 1 "Oct 11, 2005"
   7 .SH NAME
   8 ptree \- print process trees
   9 .SH SYNOPSIS
  10 .LP
  11 .nf
  12 \fB/usr/bin/ptree\fR [\fB-a\fR] [\fB-c\fR] [\fB-z\fR \fIzone\fR] [\fIpid\fR | \fIuser\fR]...
  13 .fi
  14 
  15 .SH DESCRIPTION
  16 .sp
  17 .LP
  18 The \fBptree\fR utility prints the process trees containing the specified
  19 \fIpid\fRs or \fIuser\fRs, with child processes indented from their respective
  20 parent processes. An argument of all digits is taken to be a process-ID,
  21 otherwise it is assumed to be a user login name. The default is all processes.
  22 .SH OPTIONS
  23 .sp
  24 .LP
  25 The following options are supported:
  26 .sp
  27 .ne 2
  28 .na
  29 \fB\fB-a\fR\fR
  30 .ad
  31 .RS 11n
  32 All. Print all processes, including children of process 0.
  33 .RE
  34 
  35 .sp
  36 .ne 2
  37 .na
  38 \fB\fB-c\fR\fR
  39 .ad
  40 .RS 11n
  41 Contracts. Print process contract memberships in addition to parent-child
  42 relationships. See \fBprocess\fR(4). This option implies the \fB-a\fR option.

  43 .RE
  44 
  45 .sp
  46 .ne 2
  47 .na












  48 \fB\fB-z\fR \fIzone\fR\fR
  49 .ad
  50 .RS 11n
  51 Zones. Print only processes in the specified \fIzone\fR. Each zone \fBID\fR can
  52 be specified as either a zone name or a numerical zone \fBID\fR.
  53 .sp
  54 This option is only useful when executed in the global zone.
  55 .RE
  56 
  57 .SH OPERANDS
  58 .sp
  59 .LP
  60 The following operands are supported:
  61 .sp
  62 .ne 2
  63 .na
  64 \fB\fIpid\fR\fR
  65 .ad
  66 .RS 8n
  67 Process-id or a list of process-ids. \fBptree\fR also accepts
  68 \fB/proc/\fR\fInnn\fR as a process-id, so the shell expansion \fB/proc/*\fR can
  69 be used to specify all processes in the system.
  70 .RE
  71 
  72 .sp
  73 .ne 2
  74 .na
  75 \fB\fIuser\fR\fR
  76 .ad
  77 .RS 8n
  78 Username or list of usernames. Processes whose effective user IDs match those
  79 given are displayed.
  80 .RE
  81 
  82 .SH EXAMPLES
  83 .LP
  84 \fBExample 1 \fRUsing ptree
  85 .sp
  86 .LP
  87 The following example prints the process tree (including children of process 0)
  88 for processes which match the command name \fBssh\fR:
  89 
  90 .sp
  91 .in +2
  92 .nf
  93 $ ptree -a `pgrep ssh`
  94         1     /sbin/init
  95           100909 /usr/lib/ssh/sshd
  96             569150 /usr/lib/ssh/sshd
  97               569157 /usr/lib/ssh/sshd
  98                 569159 -ksh
  99                   569171 bash
 100                     569173 /bin/ksh
 101                       569193 bash
 102 .fi
 103 .in -2
 104 .sp
 105 
 106 .SH EXIT STATUS
 107 .sp
 108 .LP
 109 The following exit values are returned:
 110 .sp
 111 .ne 2
 112 .na
 113 \fB\fB0\fR\fR
 114 .ad
 115 .RS 12n
 116 Successful operation.
 117 .RE
 118 
 119 .sp
 120 .ne 2
 121 .na
 122 \fBnon-zero\fR
 123 .ad
 124 .RS 12n
 125 An error has occurred.
 126 .RE
 127 
 128 .SH FILES
 129 .sp
 130 .ne 2
 131 .na
 132 \fB\fB/proc/*\fR\fR
 133 .ad
 134 .RS 11n
 135 process files
 136 .RE
 137 
 138 .SH ATTRIBUTES
 139 .sp
 140 .LP
 141 See \fBattributes\fR(5) for descriptions of the following attributes:
 142 .sp
 143 
 144 .sp
 145 .TS
 146 box;
 147 c | c
 148 l | l .
 149 ATTRIBUTE TYPE  ATTRIBUTE VALUE
 150 _
 151 Interface Stability     See below.
 152 .TE
 153 
 154 .sp
 155 .LP
 156 The human readable output is Unstable. The options are Evolving.
 157 .SH SEE ALSO
 158 .sp
 159 .LP
 160 \fBgcore\fR(1), \fBldd\fR(1), \fBpargs\fR(1), \fBpgrep\fR(1), \fBpkill\fR(1),
 161 \fBplimit\fR(1), \fBpmap\fR(1), \fBpreap\fR(1), \fBproc\fR(1), \fBps\fR(1),
 162 \fBppgsz\fR(1), \fBpwd\fR(1), \fBrlogin\fR(1), \fBtime\fR(1), \fBtruss\fR(1),
 163 \fBwait\fR(1), \fBfcntl\fR(2), \fBfstat\fR(2), \fBsetuid\fR(2),
 164 \fBdlopen\fR(3C), \fBsignal.h\fR(3HEAD), \fBcore\fR(4), \fBproc\fR(4),
 165 \fBprocess\fR(4), \fBattributes\fR(5), \fBzones\fR(5)
   1 '\" te
   2 .\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
   3 .\" Copyright 2019 Joyent, Inc.
   4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
   5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
   6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   7 .TH PTREE 1 "Sep 3, 2019"
   8 .SH NAME
   9 ptree \- print process trees
  10 .SH SYNOPSIS

  11 .nf
  12 \fB/usr/bin/ptree\fR [\fB-a\fR] [\fB-c\fR] [\fB-s\fR \fIsvc\fR] [\fB-z\fR \fIzone\fR] [\fIpid\fR | \fIuser\fR]...
  13 .fi
  14 
  15 .SH DESCRIPTION


  16 The \fBptree\fR utility prints the process trees containing the specified
  17 \fIpid\fRs or \fIuser\fRs, with child processes indented from their respective
  18 parent processes. An argument of all digits is taken to be a process-ID,
  19 otherwise it is assumed to be a user login name. The default is all processes.
  20 .SH OPTIONS


  21 The following options are supported:
  22 .sp
  23 .ne 2
  24 .na
  25 \fB\fB-a\fR\fR
  26 .ad
  27 .RS 11n
  28 All. Print all processes, including children of process 0.
  29 .RE
  30 
  31 .sp
  32 .ne 2
  33 .na
  34 \fB\fB-c\fR\fR
  35 .ad
  36 .RS 11n
  37 Contracts. Print process contract memberships and their associated SMF FMRIs,
  38 in addition to parent-child relationships. See \fBprocess\fR(4).
  39 This option implies the \fB-a\fR option.
  40 .RE
  41 
  42 .sp
  43 .ne 2
  44 .na
  45 \fB\fB-s\fR \fIsvc\fR\fR
  46 .ad
  47 .RS 11n
  48 Print only processes with an SMF service FMRI matching the argument. The FMRI
  49 may be in truncated form (such as 'console-login'). This includes child
  50 processes even if they are not members of the service contract.
  51 See \fBprocess\fR(4).
  52 .RE
  53 
  54 .sp
  55 .ne 2
  56 .na
  57 \fB\fB-z\fR \fIzone\fR\fR
  58 .ad
  59 .RS 11n
  60 Zones. Print only processes in the specified \fIzone\fR. Each zone \fBID\fR can
  61 be specified as either a zone name or a numerical zone \fBID\fR.
  62 .sp
  63 This option is only useful when executed in the global zone.
  64 .RE
  65 
  66 .SH OPERANDS


  67 The following operands are supported:
  68 .sp
  69 .ne 2
  70 .na
  71 \fB\fIpid\fR\fR
  72 .ad
  73 .RS 8n
  74 Process-id or a list of process-ids. \fBptree\fR also accepts
  75 \fB/proc/\fR\fInnn\fR as a process-id, so the shell expansion \fB/proc/*\fR can
  76 be used to specify all processes in the system.
  77 .RE
  78 
  79 .sp
  80 .ne 2
  81 .na
  82 \fB\fIuser\fR\fR
  83 .ad
  84 .RS 8n
  85 Username or list of usernames. Processes whose effective user IDs match those
  86 given are displayed.
  87 .RE
  88 
  89 .SH EXAMPLES

  90 \fBExample 1 \fRUsing ptree
  91 .sp
  92 .LP
  93 The following example prints the process tree (including children of process 0)
  94 for processes which match the command name \fBssh\fR:
  95 
  96 .sp
  97 .in +2
  98 .nf
  99 $ ptree -a `pgrep ssh`
 100         1     /sbin/init
 101           100909 /usr/lib/ssh/sshd
 102             569150 /usr/lib/ssh/sshd
 103               569157 /usr/lib/ssh/sshd
 104                 569159 -ksh
 105                   569171 bash
 106                     569173 /bin/ksh
 107                       569193 bash
 108 .fi
 109 .in -2
 110 .sp
 111 
 112 .SH EXIT STATUS


 113 The following exit values are returned:
 114 .sp
 115 .ne 2
 116 .na
 117 \fB\fB0\fR\fR
 118 .ad
 119 .RS 12n
 120 Successful operation.
 121 .RE
 122 
 123 .sp
 124 .ne 2
 125 .na
 126 \fBnon-zero\fR
 127 .ad
 128 .RS 12n
 129 An error has occurred.
 130 .RE
 131 
 132 .SH FILES

 133 .ne 2
 134 .na
 135 \fB\fB/proc/*\fR\fR
 136 .ad
 137 .RS 11n
 138 process files
 139 .RE
 140 
 141 .SH ATTRIBUTES


 142 See \fBattributes\fR(5) for descriptions of the following attributes:
 143 .sp
 144 
 145 .sp
 146 .TS
 147 box;
 148 c | c
 149 l | l .
 150 ATTRIBUTE TYPE  ATTRIBUTE VALUE
 151 _
 152 Interface Stability     See below.
 153 .TE
 154 
 155 .sp
 156 .LP
 157 The human readable output is Unstable. The options are Evolving.
 158 .SH SEE ALSO


 159 \fBgcore\fR(1), \fBldd\fR(1), \fBpargs\fR(1), \fBpgrep\fR(1), \fBpkill\fR(1),
 160 \fBplimit\fR(1), \fBpmap\fR(1), \fBpreap\fR(1), \fBproc\fR(1), \fBps\fR(1),
 161 \fBppgsz\fR(1), \fBpwd\fR(1), \fBrlogin\fR(1), \fBtime\fR(1), \fBtruss\fR(1),
 162 \fBwait\fR(1), \fBfcntl\fR(2), \fBfstat\fR(2), \fBsetuid\fR(2),
 163 \fBdlopen\fR(3C), \fBsignal.h\fR(3HEAD), \fBcore\fR(4), \fBproc\fR(4),
 164 \fBprocess\fR(4), \fBattributes\fR(5), \fBzones\fR(5)