Go to main content

Managing System Services in Oracle® Solaris 11.4

Exit Print View

Updated: February 2022
 
 

Listing Services on the System

The svcs command is the primary command for listing service instance states and status.

Showing Service State

See Service States for descriptions of the states shown in these examples.

Example 1  Listing All Enabled Services

With no options or arguments, the svcs command lists all service instances that are enabled on this system, as well as instances that are temporarily disabled.

Service instances in the disabled state in this listing will be enabled on the next boot of the system. Instances in the legacy_run state are not managed by SMF. See Configuration Files and SMF Services for more information about these legacy services. See Getting More Information About Service States if you have services in the maintenance, degraded, or offline states.

The STIME column shows the time the instance entered the listed state. If the instance entered this state more than 24 hours ago, the STIME column shows the date. The following example is a partial listing.

$ svcs
STATE         STIME       FMRI
legacy_run    13:50:15    lrc:/etc/rc2_d/S89PRESERVE
disabled      13:49:11    svc:/platform/i86pc/acpihpd:default
online        13:48:41    svc:/system/early-manifest-import:default
online        13:48:41    svc:/system/svc/restarter:default
Example 2  Listing All Installed Services

To list all service instances that are installed on this system, including disabled instances that will not be enabled automatically on next boot, use the svcs -a command.

$ svcs -a

An asterisk (*) is appended to the state for service instances that are transitioning from the listed state to another state. For example, offline* probably means the instance is still executing its start method.

A question mark (?) is displayed if the state is absent or unrecognized.

Example 3  Listing All Instances of a Service

With a service name specified, the svcs command lists all instances of a service. See Showing Selected Service Information for information about the -o option.

$ svcs -Ho inst identity
cert-expiry
domain
version
node
cert

Showing More Information About Services

The svcs -l command shows a long listing for each specified service instance including more detailed information about the instance state, paths to the log file and configuration files for the instance, dependency types, dependency restart attribute values, and dependency state.

The following example shows that the specified service instance is enabled, is online, and the service is a contract type service. See Service Models for definitions of service types. If the state value has a trailing asterisk, for example offline*, then the instance is in transition, and the next_state field shows a state value instead of none. The state_time is the time the instance entered the listed state.

All of the required dependencies of this service instance are online. The one dependency that is disabled is an optional dependency. This example shows that the net-snmp service will be restarted if the snmpd.conf file is refreshed. For information about dependency types and restart attribute values, see Showing Service Dependencies. In svcs -l output, states other than those described in Service States are possible for dependencies. See the svcs(1) man page for descriptions.

$ svcs -l net-snmp
fmri         svc:/application/management/net-snmp:default
name         net-snmp SNMP daemon
enabled      true
state        online
next_state   none
state_time   July  8, 2020 at  6:18:35 PM PDT
logfile      /var/svc/log/application-management-net-snmp:default.log
restarter    svc:/system/svc/restarter:default
contract_id  183
manifest     /lib/svc/manifest/application/management/net-snmp.xml
dependency   require_all/refresh file://localhost/etc/net-snmp/snmp/snmpd.conf (online)
dependency   require_all/restart svc:/system/cryptosvc (online)
dependency   require_all/none svc:/system/filesystem/local (online)
dependency   require_all/none svc:/milestone/multi-user (online)
dependency   optional_all/none svc:/milestone/name-services (online)
dependency   require_all/restart svc:/milestone/network (online)
dependency   optional_all/none svc:/network/rpc/rstat (disabled)
dependency   optional_all/none svc:/system/system-log (multiple)
Example 4  Showing Processes Started by a Contract Service

Use the svcs -p command to show the process IDs and command names of processes started by a contract service instance. The net-snmp service manages the /usr/sbin/snmpd SNMP agent that collects information about a system through a set of Management Information Bases (MIBs).

$ svcs -p net-snmp
STATE          STIME           FMRI
online         18:18:35        svc:/application/management/net-snmp:default
               18:18:35             1507 snmpd
Example 5  Showing a Contract Service Restarting Automatically After Process Stop

Contract service instances are automatically restarted if the contract empties. SMF also attempts to restart processes associated with a contract service instance as part of automatic recovery from hardware or software failure events. The following example shows that after the /usr/sbin/snmpd process is killed, it is automatically restarted with a new process ID. The net-snmp:default instance is still online and has a new start time.

$ kill 1507
$ svcs -p net-snmp
STATE          STIME           FMRI
online         18:50:31        svc:/application/management/net-snmp:default
               18:50:31             1519 snmpd

Showing Selected Service Information

Output from the svcs command can be very useful for piping to other commands or using in scripts. The -o option of the svcs command enables you to specify the columns of information you want and the order of the columns. You can output the service name and instance name in separate columns, the current state and next state of the service, and the contract ID, for example. With the -s and -S options, you can specify the sort order of the output for one or more columns. See the COLUMNS section of the svcs(1) man page for a list of available columns. Multiple -s options behave additively.

Three additional pieces of information can be shown for periodic services. For information about periodic services, see Chapter 3, Creating a Service to Run Periodically in Developing System Services in Oracle Solaris 11.4 and the svc.periodicd(8) man page.

LRUN

The last time the start method of this periodic service instance ran. Service instances that are not periodic display a hyphen character (-) in this column.

NRUN

The next time the start method of this periodic service instance is scheduled to run. Service instances that are not periodic display a hyphen character (-) in this column.

ASTATE

The auxiliary state of the service instance. Service instances that are not periodic instances use this property to show the reason that the instance made its most recent transition. Instances that are not periodic instances almost always show dependencies_satisfied as the value of this property, since this is usually the reason the instance transitioned from the offline to the online state. Periodic service instances can display either running or scheduled in this column to indicate whether the instance is waiting between start method executions. See Specifying the periodic_method Element in Developing System Services in Oracle Solaris 11.4 for more information.