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,29 +1,25 @@
 '\" 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 "Oct 11, 2005"
+.TH PTREE 1 "Sep 3, 2019"
 .SH NAME
 ptree \- print process trees
 .SH SYNOPSIS
-.LP
 .nf
-\fB/usr/bin/ptree\fR [\fB-a\fR] [\fB-c\fR] [\fB-z\fR \fIzone\fR] [\fIpid\fR | \fIuser\fR]...
+\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
-.sp
-.LP
 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
-.sp
-.LP
 The following options are supported:
 .sp
 .ne 2
 .na
 \fB\fB-a\fR\fR

@@ -36,17 +32,30 @@
 .ne 2
 .na
 \fB\fB-c\fR\fR
 .ad
 .RS 11n
-Contracts. Print process contract memberships in addition to parent-child
-relationships. See \fBprocess\fR(4). This option implies the \fB-a\fR option.
+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 child
+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.

@@ -53,12 +62,10 @@
 .sp
 This option is only useful when executed in the global zone.
 .RE
 
 .SH OPERANDS
-.sp
-.LP
 The following operands are supported:
 .sp
 .ne 2
 .na
 \fB\fIpid\fR\fR

@@ -78,11 +85,10 @@
 Username or list of usernames. Processes whose effective user IDs match those
 given are displayed.
 .RE
 
 .SH EXAMPLES
-.LP
 \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:

@@ -102,12 +108,10 @@
 .fi
 .in -2
 .sp
 
 .SH EXIT STATUS
-.sp
-.LP
 The following exit values are returned:
 .sp
 .ne 2
 .na
 \fB\fB0\fR\fR

@@ -124,22 +128,19 @@
 .RS 12n
 An error has occurred.
 .RE
 
 .SH FILES
-.sp
 .ne 2
 .na
 \fB\fB/proc/*\fR\fR
 .ad
 .RS 11n
 process files
 .RE
 
 .SH ATTRIBUTES
-.sp
-.LP
 See \fBattributes\fR(5) for descriptions of the following attributes:
 .sp
 
 .sp
 .TS

@@ -153,12 +154,10 @@
 
 .sp
 .LP
 The human readable output is Unstable. The options are Evolving.
 .SH SEE ALSO
-.sp
-.LP
 \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),