chiark / gitweb /
man: document /etc/modules-load.d/
[elogind.git] / man / systemd.service.xml
index d6c0e3fd9429e33db906469c6fb807c427b92f2e..c77992d07c6e1749df86f434fdcef0629064d48b 100644 (file)
                                 <literal>$FOO</literal> may appear as
                                 separate word on the command line in
                                 which case the variable is replaced by
-                                its value split at
-                                whitespaces.</para></listitem>
+                                its value split at whitespaces. Note
+                                that the first argument (i.e. the
+                                binary to execute) may not be a
+                                variable, and must be a literal and
+                                absolute path name.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 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
                                 daemon, and may be used for command
                                 lines like the following:
                                 <command>/bin/kill -HUP
-                                $(MAINPID)</command>.</para></listitem>
+                                $MAINPID</command>.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 requested. Specifier and environment
                                 variable substitution is supported
                                 (including
-                                <literal>$(MAINPID)</literal>, see
+                                <literal>$MAINPID</literal>, see
                                 above).</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <term><varname>Restart=</varname></term>
                                 <listitem><para>Configures whether the
-                                main service process shall be restarted when
-                                it exists. Takes one of
-                                <option>once</option>,
-                                <option>restart-on-success</option> or
-                                <option>restart-always</option>. If
-                                set to <option>once</option> (the
-                                default) the service will not be
-                                restarted when it exits. If set to
-                                <option>restart-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>restart-always</option> the
+                                main service process shall be
+                                restarted when it exits. Takes one of
+                                <option>no</option>,
+                                <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
                                 group and the control group continues
                                 to exist after stop unless it is
                                 empty. Defaults to
-                                <option>control-croup</option>.</para>
+                                <option>control-group</option>.</para>
 
                                 <para>Processes will first be
                                 terminated via SIGTERM. If then after
                                 <option>main</option> or
                                 <option>all</option>. If
                                 <option>none</option> no daemon status
-                                updates are accepted by the service
+                                updates are accepted from the service
                                 processes, all status update messages
                                 are ignored. If <option>main</option>
                                 only service updates sent from the
                                 <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>
+
+                        <varlistentry>
+                                <term><varname>FsckPassNo=</varname></term>
+                                <listitem><para>Set the fsck passno
+                                priority to use to order this service
+                                in relation to other file system
+                                checking services. This option is only
+                                necessary to fix ordering in relation
+                                to fsck jobs automatically created for
+                                all <filename>/etc/fstab</filename>
+                                entries with a value in the fs_passno
+                                column > 0. As such it should only be
+                                used as option for fsck
+                                services. Almost always it is a better
+                                choice to add explicit ordering
+                                directives via
+                                <varname>After=</varname> or
+                                <varname>Before=</varname>,
+                                instead. For more details see
+                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>. If
+                                used, pass an integer value in the
+                                same range as
+                                <filename>/etc/fstab</filename>'s
+                                fs_passno column. See
+                                <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                for details.</para></listitem>
+                        </varlistentry>
+
                 </variablelist>
         </refsect1>