1 SVCPROP(1)                       User Commands                      SVCPROP(1)
   2 
   3 
   4 
   5 NAME
   6        svcprop - retrieve values of service configuration properties
   7 
   8 SYNOPSIS
   9        svcprop [-fqtv] [-C | -c | -s snapshot]
  10             [-z zone] [-p [name/]name]...
  11             {FMRI | pattern}...
  12 
  13 
  14        svcprop -w [-fqtv] [-z zone] [-p [name/]name] {FMRI | pattern}
  15 
  16 
  17 DESCRIPTION
  18        The svcprop utility prints values of properties in the service
  19        configuration repository. Properties are selected by -p options and the
  20        operands.
  21 
  22 
  23        Without the -C, -c, or -s options, svcprop accesses effective
  24        properties. The effective properties of a service are its directly
  25        attached properties. The effective properties of a service instance are
  26        the union of properties in the composed view of its running snapshot
  27        and the properties in nonpersistent property groups in the composed
  28        view of the instance's directly attached properties. See smf(5) for an
  29        explanation of property composition. If the running snapshot does not
  30        exist then the instance's directly attached properties are used
  31        instead.
  32 
  33    Output Format
  34        By default, when a single property is selected, the values for each are
  35        printed on separate lines. Empty ASCII string values are represented by
  36        a pair of double quotes (""). Bourne shell metacharacters (';', '&',
  37        '(', ')', '|', '^', '<',      '>', newline, space, tab, backslash, '"',
  38        single-quote, '`') in ASCII string values are quoted by backslashes
  39        (\).
  40 
  41 
  42        When multiple properties are selected, a single line is printed for
  43        each. Each line comprises a property designator, a property type, and
  44        the values (as described above), separated by spaces. By default, if a
  45        single FMRI operand has been supplied, the property designator consists
  46        of the property group name and the property name joined by a slash (/).
  47        If multiple FMRI operands are supplied, the designator is the canonical
  48        FMRI for the property.
  49 
  50 
  51        If access controls prohibit reading the value of a property, and no
  52        property or property group is specified explicitly by a -p option, the
  53        property is displayed as if it had no values. If one or more property
  54        or property group names is specified by  a -p option, and any property
  55        value cannot be read due to access controls, an error results.
  56 
  57 
  58        Error messages are printed to the standard error stream.
  59 
  60 OPTIONS
  61        The following options are supported:
  62 
  63        -C
  64                      Uses the directly attached properties, without
  65                      composition.
  66 
  67 
  68        -c
  69                      For service instances, uses the composed view of their
  70                      directly attached properties.
  71 
  72 
  73        -f
  74                      Selects the multi-property output format, with full FMRIs
  75                      as designators.
  76 
  77 
  78        -p name
  79                      For each service or service instance specified by the
  80                      operands, selects all properties in the name property
  81                      group. For property groups specified by the operands,
  82                      selects the name property.
  83 
  84 
  85        -p pg/prop
  86                      Selects property prop in property group pg for each of
  87                      the services or service instances specified by the
  88                      operands.
  89 
  90 
  91        -q
  92                      Quiet. Produces no output.
  93 
  94 
  95        -s name
  96                      Uses the composed view of the name snapshot for service
  97                      instances.
  98 
  99 
 100        -t
 101                      Selects the multi-property output format.
 102 
 103 
 104        -v
 105                      Verbose. Prints error messages for nonexistent
 106                      properties, even if option -q is also used.
 107 
 108 
 109        -w
 110                      Waits until the specified property group or the property
 111                      group containing the specified property changes before
 112                      printing.
 113 
 114                      This option is only valid when a single entity is
 115                      specified. If more than one operand is specified, or an
 116                      operand matches more than one instance, an error message
 117                      is printed and no action is taken. The -C option is
 118                      implied.
 119 
 120 
 121        -z zone
 122                      Uses properties from the service or instance in the
 123                      specified zone.  This option is only applicable from the
 124                      global zone, see zones(5).
 125 
 126 
 127 OPERANDS
 128        The following operands are supported:
 129 
 130        FMRI
 131                   The FMRI of a service, a service instance, a property group,
 132                   or a property.
 133 
 134                   Instances and services can be abbreviated by specifying the
 135                   instance name, or the trailing portion of the service name.
 136                   Properties and property groups must be specified by a full
 137                   FMRI. For example, given the FMRI:
 138 
 139                     svc:/network/smtp:sendmail
 140 
 141 
 142                   The following are valid abbreviations:
 143 
 144                     sendmail
 145                     :sendmail
 146                     smtp
 147                     smtp:sendmail
 148                     network/smtp
 149 
 150 
 151                   The following are invalid abbreviations:
 152 
 153                     mail
 154                     network
 155                     network/smt
 156 
 157 
 158                   Abbreviated forms of FMRIs are unstable and should not be
 159                   used in scripts or other permanent tools. If an abbreviation
 160                   matches multiple instances, svcprop acts on each instance.
 161 
 162 
 163        pattern
 164                   A glob pattern which is matched against the FMRIs of
 165                   services and instances in the repository. See fnmatch(5). If
 166                   a pattern matches multiple services or instances, svcprop
 167                   acts on each service or instance.
 168 
 169 
 170 EXAMPLES
 171        Example 1 Displaying the Value of a Single Property
 172 
 173 
 174        The following example displays the value of the state property in the
 175        restarter property group of instance default of service system/cron.
 176 
 177 
 178          example%  svcprop -p restarter/state system/cron:default
 179          online
 180 
 181 
 182 
 183        Example 2 Retrieving Whether a Service is Enabled
 184 
 185 
 186        Whether a service is enabled is determined by its -general/enabled
 187        property. This property takes immediate effect, so the -c option must
 188        be used:
 189 
 190 
 191          example%  svcprop -c -p general/enabled system/cron:default
 192          true
 193 
 194 
 195 
 196        Example 3 Displaying All Properties in a Property Group
 197 
 198 
 199        On a default installation of Solaris, the following example displays
 200        all properties in the general property group of each instance of the
 201        network/ntp service:
 202 
 203 
 204          example% svcprop -p general ntp
 205          general/package astring SUNWntpr
 206          general/enabled boolean true
 207          general/entity_stability astring Unstable
 208 
 209 
 210 
 211        Example 4 Testing the Existence of a Property
 212 
 213 
 214        The following example tests the existence of the general/enabled
 215        property for all instances of service identity:
 216 
 217 
 218          example%  svcprop -q -p general/enabled identity:
 219          example%  echo $?
 220          0
 221 
 222 
 223 
 224        Example 5 Waiting for Property Change
 225 
 226 
 227        The following example waits for the sendmail instance to change state.
 228 
 229 
 230          example%  svcprop -w -p restarter/state sendmail
 231 
 232 
 233 
 234        Example 6 Retrieving the Value of a Boolean Property in a Script
 235 
 236 
 237        The following example retrieves the value of a boolean property in a
 238        script:
 239 
 240 
 241          set -- `svcprop -c -t -p general/enabled service`
 242          code=$?
 243          if [ $code -ne 0 ]; then
 244                  echo "svcprop failed with exit code $code"
 245                  return 1
 246          fi
 247          if [ $2 != boolean ]; then
 248                   echo "general/enabled has unexpected type $2"
 249                   return 2
 250          fi
 251          if [ $# -ne 3 ]; then
 252                    echo "general/enabled has wrong number of values"
 253                    return 3
 254          fi
 255          value=$3
 256          ...
 257 
 258 
 259 
 260        Example 7 Using svcprop in a Script
 261 
 262          example% cat getval
 263          #!/bin/sh
 264 
 265          svcprop -p $1 $2 | (
 266                   read value v2
 267                   if [ -n "$v2" ]; then echo "Multiple values!"; exit; fi
 268                   echo $value
 269                 )
 270 
 271 
 272 
 273 EXIT STATUS
 274        The following exit values are returned:
 275 
 276        0
 277             Successful completion.
 278 
 279 
 280        1
 281             An error occurred.
 282 
 283 
 284        2
 285             Invalid command line options were specified.
 286 
 287 
 288 SEE ALSO
 289        svcs(1), inetd(1M), svcadm(1M), svccfg(1M), svc.startd(1M),
 290        service_bundle(4), attributes(5), fnmatch(5), smf(5), smf_method(5),
 291        smf_security(5), zones(5)
 292 
 293 
 294 
 295                                December 11, 2019                    SVCPROP(1)