smf_restarter - service management facility conventions for restarters
All service instances in the service management facility must be managed by a
restarter. This manual page describes configuration, functionality, and
reporting characteristics that are common to all restarters in the framework.
Characteristics specific to a particular restarter are described in the
restarter's man page.
For each managed service, a restarter relies on retrieving
properties on the service instance to determine configuration. The restarter
manages a set of property groups to communicate the current disposition of a
service with display tools such as svcs(1).
The common restarter configuration for all services is captured in the
general property group. This group includes the following required and
optional property settings.
enabled
This is a required property. If set, the restarter of an
instance attempts to maintain availability of the service.
restarter
This is an optional property that allows the
specification of an alternate restarter to manage the service instance. If the
restarter property is empty or absent, the restarter defaults to
svc.startd(1M).
single_instance
This is an optional property. When set, only one instance
of the service is allowed to transition to an online or degraded status at any
time. Note that no known implementation honours this setting, and it should be
considered obsolete.
All restarters report status using the restarter property group, which
includes the following properties:
next_state
The current state and next state, if currently in
transition, for instances stored in these properties. See smf(5) for a
description of the potential states.
auxiliary_state
An astring with no spaces that contains a precise term to
describe the full restarter-specific state in combination with the restarter
state property. The auxiliary state cannot always be set and is always cleared
during transition out of any state. Each restarter must define the precise
list of auxiliary states it uses.
state_timestamp
The time when the current state was reached.
contract
The primary process contract ID, if any, under which the
service instance is executing.
svcs(1), svc.startd(1M), service_bundle(4), smf(5),
smf_method(5)