chiark / gitweb /
dbus: add introspection to midlevel paths
[elogind.git] / man / systemd.service.xml
index d573ec6f96a3721652cc330b3f09eecc98502317..c9cd51f739dda1cd0da27273fc07f9fb0c3d3a5a 100644 (file)
                                 the command in
                                 <varname>ExecStart=</varname>. Multiple
                                 command lines may be concatenated in a
                                 the command in
                                 <varname>ExecStart=</varname>. Multiple
                                 command lines may be concatenated in a
-                                single directive, by seperating them
+                                single directive, by separating them
                                 by semicolons (these semicolons must
                                 be passed as separate words). In that
                                 case, the commands are executed one
                                 by semicolons (these semicolons must
                                 be passed as separate words). In that
                                 case, the commands are executed one
                         <varlistentry>
                                 <term><varname>Restart=</varname></term>
                                 <listitem><para>Configures whether the
                         <varlistentry>
                                 <term><varname>Restart=</varname></term>
                                 <listitem><para>Configures whether the
-                                main service process shall be restarted when
-                                it exists. Takes one of
+                                main service process shall be
+                                restarted when it exists. Takes one of
                                 <option>no</option>,
                                 <option>no</option>,
-                                <option>on-success</option> or
-                                <option>always</option>. If
-                                set to <option>no</option> (the
-                                default) the service will not be
-                                restarted when it exits. If set to
-                                <option>on-success</option> it
-                                will be restarted only when it exited
-                                cleanly, i.e. terminated with an exit
-                                code of 0. If set to
-                                <option>always</option> the
+                                <option>on-success</option>,
+                                <option>on-failure</option>,
+                                <option>on-abort</option> or
+                                <option>always</option>. If set to
+                                <option>no</option> (the default) the
+                                service will not be restarted when it
+                                exits. If set to
+                                <option>on-success</option> it will be
+                                restarted only when it exited cleanly,
+                                i.e. terminated with an exit code of
+                                0. If set to
+                                <option>on-failure</option> it will be
+                                restared only when it exited with an
+                                exit code not equalling 0, or when
+                                terminated by a signal. If set to
+                                <option>on-abort</option> it will be
+                                restarted only if it exits due to
+                                reception of an uncaught signal. If
+                                set to <option>always</option> the
                                 service will be restarted regardless
                                 whether it exited cleanly or not, or
                                 got terminated abnormally by a
                                 service will be restarted regardless
                                 whether it exited cleanly or not, or
                                 got terminated abnormally by a
                                 <varname>Type=notify</varname> (see above).</para></listitem>
                         </varlistentry>
 
                                 <varname>Type=notify</varname> (see above).</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>Sockets=</varname></term>
+                                <listitem><para>Specifies the name of
+                                the socket units this service shall
+                                inherit the sockets from when the
+                                service (ignoring the different suffix
+                                of course) is started. Normally it
+                                should not be necessary to use this
+                                setting as all sockets whose unit
+                                shares the same name as the service
+                                are passed to the spawned
+                                process.</para>
+
+                                <para>Note that the same socket may be
+                                passed to multiple processes at the
+                                same time. Also note that a different
+                                service may be activated on incoming
+                                traffic than inherits the sockets. Or
+                                in other words: The
+                                <varname>Service=</varname> setting of
+                                <filename>.socket</filename> units
+                                doesn't have to match the inverse of the
+                                <varname>Sockets=</varname> setting of
+                                the <filename>.service</filename> it
+                                refers to.</para></listitem>
+                        </varlistentry>
+
                 </variablelist>
         </refsect1>
 
                 </variablelist>
         </refsect1>