Solaris SMF: Difference between revisions

From Lolly's Wiki
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
[[Kategorie:Solaris|SMF]]
[[Kategorie:Solaris|SMF]]
== Running foreground processes ==
== Running foreground processes ==
<pre>
<source lang=xml>
<?xml version='1.0'?>
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
Line 39: Line 39:
   </service>
   </service>
</service_bundle>
</service_bundle>
</pre>
</source>


==Adding dependency on another service==
==Adding dependency on another service==

Revision as of 16:21, 13 February 2015

SMF

Running foreground processes

<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
  <service name='network/foreground-daemon' type='service' version='0'>
    <single_instance/>
    <dependency name='filesystem_minimal' grouping='require_all' restart_on='none' type='service'>
      <service_fmri value='svc:/system/filesystem/local'/>
    </dependency>
    <dependency name='loopback' grouping='require_any' restart_on='error' type='service'>
      <service_fmri value='svc:/network/loopback'/>
    </dependency>
    <dependency name='network' grouping='optional_all' restart_on='error' type='service'>
      <service_fmri value='svc:/milestone/network'/>
    </dependency>
    <instance name='default' enabled='true'>
    <exec_method name='refresh' type='method' exec=':true' timeout_seconds='60'/>
    <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'/>
    <exec_method name='start' type='method' exec='/opt/foreground/bin/foreground-daemon %m' timeout_seconds='0'>
      <method_context project='foreground-project' >
        <method_credential user='foreground-user' group='noaccess' />
      </method_context>
    </exec_method>    
    <property_group type="framework" name="startd">
            <propval type="astring" name="duration" value="child"/>
    </property_group>
    <template>
      <common_name>
        <loctext xml:lang='C'>Foreground Daemon</loctext>
      </common_name>
      <documentation>
        <manpage title='foreground-daemon' section='1M' manpath='/opt/foreground/man'/>
      </documentation>
    </template>
    </instance>
    <stability value='Unstable'/>
  </service>
</service_bundle>

Adding dependency on another service

For example mount NFS after ZFS:

svccfg -s svc:/network/nfs/client addpg filesystem-local dependency
svccfg -s svc:/network/nfs/client setprop filesystem-local/grouping = astring: require_all                      
svccfg -s svc:/network/nfs/client setprop filesystem-local/entities = fmri: svc:/system/filesystem/local:default
svccfg -s svc:/network/nfs/client setprop filesystem-local/restart_on = astring: none 
svccfg -s svc:/network/nfs/client setprop filesystem-local/type = astring: service