1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
'\" te
.\" Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved.
.\" Copyright 2019 Joyent, Inc.
.\" 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.
.\" 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.
.\" 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]
.TH PTREE 1 "Sep 3, 2019"
.SH NAME
ptree \- print process trees
.SH SYNOPSIS
.nf
\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]...
.fi
.SH DESCRIPTION
The \fBptree\fR utility prints the process trees containing the specified
\fIpid\fRs or \fIuser\fRs, 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.
.SH OPTIONS
The following options are supported:
.sp
.ne 2
.na
\fB\fB-a\fR\fR
.ad
.RS 11n
All. Print all processes, including children of process 0.
.RE
.sp
.ne 2
.na
\fB\fB-c\fR\fR
.ad
.RS 11n
Contracts. Print process contract memberships and their associated SMF FMRIs,
in addition to parent-child relationships. See \fBprocess\fR(4).
This option implies the \fB-a\fR option.
.RE
.sp
.ne 2
.na
\fB\fB-s\fR \fIsvc\fR\fR
.ad
.RS 11n
Print only processes with an SMF service FMRI matching the argument. The FMRI
may be in truncated form (such as 'console-login'). This includes children
processes even if they are not members of the service contract.
See \fBprocess\fR(4).
.RE
.sp
.ne 2
.na
\fB\fB-z\fR \fIzone\fR\fR
.ad
.RS 11n
Zones. Print only processes in the specified \fIzone\fR. Each zone \fBID\fR can
be specified as either a zone name or a numerical zone \fBID\fR.
.sp
This option is only useful when executed in the global zone.
.RE
.SH OPERANDS
The following operands are supported:
.sp
.ne 2
.na
\fB\fIpid\fR\fR
.ad
.RS 8n
Process-id or a list of process-ids. \fBptree\fR also accepts
\fB/proc/\fR\fInnn\fR as a process-id, so the shell expansion \fB/proc/*\fR can
be used to specify all processes in the system.
.RE
.sp
.ne 2
.na
\fB\fIuser\fR\fR
.ad
.RS 8n
Username or list of usernames. Processes whose effective user IDs match those
given are displayed.
.RE
.SH EXAMPLES
\fBExample 1 \fRUsing ptree
.sp
.LP
The following example prints the process tree (including children of process 0)
for processes which match the command name \fBssh\fR:
.sp
.in +2
.nf
$ 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
.fi
.in -2
.sp
.SH EXIT STATUS
The following exit values are returned:
.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.RS 12n
Successful operation.
.RE
.sp
.ne 2
.na
\fBnon-zero\fR
.ad
.RS 12n
An error has occurred.
.RE
.SH FILES
.ne 2
.na
\fB\fB/proc/*\fR\fR
.ad
.RS 11n
process files
.RE
.SH ATTRIBUTES
See \fBattributes\fR(5) for descriptions of the following attributes:
.sp
.sp
.TS
box;
c | c
l | l .
ATTRIBUTE TYPE ATTRIBUTE VALUE
_
Interface Stability See below.
.TE
.sp
.LP
The human readable output is Unstable. The options are Evolving.
.SH SEE ALSO
\fBgcore\fR(1), \fBldd\fR(1), \fBpargs\fR(1), \fBpgrep\fR(1), \fBpkill\fR(1),
\fBplimit\fR(1), \fBpmap\fR(1), \fBpreap\fR(1), \fBproc\fR(1), \fBps\fR(1),
\fBppgsz\fR(1), \fBpwd\fR(1), \fBrlogin\fR(1), \fBtime\fR(1), \fBtruss\fR(1),
\fBwait\fR(1), \fBfcntl\fR(2), \fBfstat\fR(2), \fBsetuid\fR(2),
\fBdlopen\fR(3C), \fBsignal.h\fR(3HEAD), \fBcore\fR(4), \fBproc\fR(4),
\fBprocess\fR(4), \fBattributes\fR(5), \fBzones\fR(5)
|