Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
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]
svcs [-aHpv?] [-Z | -z zone] [-o col[,col]]... [-R FMRI-instance]... [-sS col]... [FMRI | pattern]...
svcs {-d | -D} [-Hpv?] [-Z | -z zone] [-o col[,col]]... [-sS col]... [FMRI | pattern] ...
svcs [-l | -L] [-vZ] [-z zone] [FMRI | pattern]...
svcs -x [-v] [-Z | -z zone] [FMRI]...
The svcs command displays information about service instances as recorded in the service configuration repository.
The first form of this command prints one-line status listings for service instances specified by the arguments. Each instance is listed only once. With no arguments, all enabled service instances, even if temporarily disabled, are listed with the columns indicated below.
The second form prints one-line status listings for the dependencies or dependents of the service instances specified by the arguments.
The third form prints detailed information about specific services and instances.
The fourth form explains the states of service instances. For each argument, a block of human-readable text is displayed which explains what state the service is in, and why it is in that state. With no arguments, problematic services are described.
Error messages are printed to the standard error stream.
The output of this command can be used appropriately as input to the svcadm(1M) command.
The following options are supported:
-?
Displays an extended usage message, including column specifiers.
-a
Show all services, even disabled ones. This option has no effect if services are selected.
-d
Lists the services or service instances upon which the given service instances depend.
-D
Lists the service instances that depend on the given services or service instances.
-H
Omits the column headers.
-l
(The letter ell.) Displays all available information about the selected services and service instances, with one service attribute displayed for each line. Information for different instances are separated by blank lines. The following specific attributes require further explanation:
dependency
Information about a dependency. The grouping and restart_on properties are displayed first and are separated by a forward slash (/). Next, each entity and its state is listed. See smf(5) for information about states. In addition to the standard states, each service dependency can have the following state descriptions:
absent
No such service is defined on the system.
invalid
The fault management resource identifier (FMRI) is invalid (see smf(5)).
multiple
The entity is a service with multiple instances.
absent
No such file on the system.
online
The file exists. If the file did not exist the last time that svc.startd evaluated the service's dependencies, it can consider the dependency to be unsatisfied. svcadm refresh forces dependency re-evaluation.
unknown
stat(2) failed for a reason other than ENOENT.
enabled
Whether the service is enabled or not, and whether it is enabled or disabled temporarily (until the next system reboot). The former is specified as either true or false, and the latter is designated by the presence of (temporary). A service might be temporarily disabled because an administrator has run svcadm disable -t, used svcadm milestone, or booted the system to a specific milestone. See svcadm(1M) for details.
-L
Display the log file of the selected services and service instances, one per-line.
-o col[,col]...
Prints the specified columns. Each col should be a column name. See COLUMNS below for available columns.
-p
Lists processes associated with each service instance. A service instance can have no associated processes. The process ID, start time, and command name (PID, STIME, and CMD fields from ps(1)) are displayed for each process.
-R FMRI-instance
Selects service instances that have the given service instance as their restarter.
-s col
Sorts output by column. col should be a column name. See COLUMNS below for available columns. Multiple -s options behave additively.
-S col
Sorts by col in the opposite order as option -s.
-v
Without -x or -l, displays verbose columns: STATE, NSTATE, STIME, CTID, and FMRI. With -x, displays extra information for each explanation. With -l, displays user-visible properties in property groups of type application and their description.
-x
Displays explanations for service states. Without arguments, the -x option explains the states of services which:
are enabled, but are not running.
are preventing another enabled service from running.
-z zone
Display only the services in the zone. This option is only applicable in the global zone, see zones(5).
-Z
Display services from all zones, with an additional column indicating in which zone the service is running. This option is only applicable in the global zone, see zones(5).
The following operands are supported:
FMRI
A fault management resource identifier (FMRI) that specifies one or more instances (see smf(5)). FMRIs can be abbreviated by specifying the instance name, or the trailing portion of the service name. For example, given the FMRI:
svc:/network/smtp:sendmailThe following are valid abbreviations:
sendmail :sendmail smtp smtp:sendmail network/smtpThe following are invalid abbreviations:
mail network network/smtIf the FMRI specifies a service, then the command applies to all instances of that service, except when used with the -D option. Abbreviated forms of FMRIs are unstable, and should not be used in scripts or other permanent tools.
pattern
A pattern that is matched against the FMRIs of service instances according to the "globbing" rules described by fnmatch(5). If the pattern does not begin with svc:, then svc:/ is prepended. The following is a typical example of a glob pattern:
qexample% svcs \e*keyserv\e* STATE STIME FMRI disabled Aug_02 svc:/network/rpc/keyserv:default
FMRI-instance
An FMRI that specifies an instance.
Column names are case insensitive. The default output format is equivalent to "-o state,stime,fmri". The default sorting columns are STATE, STIME, FMRI.
CTID
The primary contract ID for the service instance. Not all instances have valid primary contract IDs.
DESC
A brief description of the service, from its template element. A service might not have a description available, in which case a hyphen (\(hy) is used to denote an empty value.
FMRI
The FMRI of the service instance.
INST
The instance name of the service instance.
NSTA
The abbreviated next state of the service instance, as given in the STA column description. A hyphen denotes that the instance is not transitioning. Same as STA otherwise.
NSTATE
The next state of the service. A hyphen is used to denote that the instance is not transitioning. Same as STATE otherwise.
SCOPE
The scope name of the service instance.
SVC
The service name of the service instance.
STA
The abbreviated state of the service instance (see smf(5)):
DGD
degraded
DIS
disabled
LRC
legacy rc*.d script-initiated instance
MNT
maintenance
OFF
offline
ON
online
UN
uninitialized
STATE
The state of the service instance. An asterisk is appended for instances in transition, unless the NSTA or NSTATE column is also being displayed. See smf(5) for an explanation of service states.
STIME
If the service instance entered the current state within the last 24 hours, this column indicates the time that it did so. Otherwise, this column indicates the date on which it did so, printed with underscores (_) in place of blanks.
Example 1 Displaying the Default Output
This example displays default output:
example% svcs STATE STIME FMRI ... legacy_run 13:25:04 lrc:/etc/rc3_d/S42myscript ... online 13:21:50 svc:/system/svc/restarter:default ... online 13:25:03 svc:/milestone/multi-user:default ... online 13:25:07 svc:/milestone/multi-user-server:default ...
Example 2 Listing All Local Instances
This example lists all local instances of the service1 service.
example% svcs -o state,nstate,fmri service1 STATE NSTATE FMRI online - svc:/service1:instance1 disabled - svc:/service1:instance2
Example 3 Listing Verbose Information
This example lists verbose information.
example% svcs -v network/rpc/rstat:udp STATE NSTATE STIME CTID FMRI online - Aug_09 - svc:/network/rpc/rstat:udp
Example 4 Listing Detailed Information
This example lists detailed information about all instances of system/service3. Additional fields can be displayed, as appropriate to the managing restarter.
example% svcs -l network/rpc/rstat:udp fmri svc:/network/rpc/rstat:udp enabled true state online next_state none restarter svc:/network/inetd:default contract_id dependency require_all/error svc:/network/rpc/bind (online)
Example 5 Listing Processes
example% svcs -p sendmail STATE STIME FMRI online 13:25:13 svc:/network/smtp:sendmail 13:25:15 100939 sendmail 13:25:15 100940 sendmail
Example 6 Explaining Service States Using svcs -x
(a) In this example, svcs -x has identified that the print/server service being disabled is the root cause of two services which are enabled but not online. svcs -xv shows that those services are print/rfc1179 and print/ipp-listener. This situation can be rectified by either enabling print/server or disabling rfc1179 and ipp-listener.
example% svcs -x svc:/application/print/server:default (LP print server) State: disabled since Mon Feb 13 17:56:21 2006 Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: lpsched(1M) Impact: 2 dependent services are not running. (Use -v for list.)
(b) In this example, NFS is not working:
example$ svcs nfs/client STATE STIME FMRI offline 16:03:23 svc:/network/nfs/client:default
(c) The following example shows that the problem is nfs/status. nfs/client is waiting because it depends on nfs/nlockmgr, which depends on nfs/status:
example$ svcs -xv nfs/client svc:/network/nfs/client:default (NFS client) State: offline since Mon Feb 27 16:03:23 2006 Reason: Service svc:/network/nfs/status:default is not running because a method failed repeatedly. See: http://sun.com/msg/SMF-8000-GE Path: svc:/network/nfs/client:default svc:/network/nfs/nlockmgr:default svc:/network/nfs/status:default See: man -M /usr/share/man -s 1M mount_nfs See: /var/svc/log/network-nfs-client:default.log Impact: This service is not running.
The following exit values are returned:
0
Successful command invocation.
1
Fatal error.
2
Invalid command line options were specified.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | See below. |
Screen output is Uncommitted. The invocation is Committed.
ps(1), svcprop(1), svcadm(1M), svccfg(1M), svc.startd(1M), stat(2), libscf(3LIB), attributes(5), fnmatch(5), smf(5), zones(5)