chiark / gitweb /
journal: when browsing the journal via browse.html allow clicking on entries to show...
[elogind.git] / man / systemd.service.xml
index 1946d85f483ea3e85a98a3c7eab67c100c92a1c3..339dea9aa503d8ab3787a3ea68edb8f38b7f4dc5 100644 (file)
                                 complete and all communication
                                 channels set up. The child continues
                                 to run as the main daemon
                                 complete and all communication
                                 channels set up. The child continues
                                 to run as the main daemon
-                                process. This is the behaviour of
+                                process. This is the behavior of
                                 traditional UNIX daemons. If this
                                 setting is used, it is recommended to
                                 also use the
                                 traditional UNIX daemons. If this
                                 setting is used, it is recommended to
                                 also use the
                                 soon as the parent process
                                 exits.</para>
 
                                 soon as the parent process
                                 exits.</para>
 
-                                <para>Behaviour of
+                                <para>Behavior of
                                 <option>oneshot</option> is similar
                                 to <option>simple</option>, however
                                 it is expected that the process has to
                                 <option>oneshot</option> is similar
                                 to <option>simple</option>, however
                                 it is expected that the process has to
                                 is particularly useful for this type
                                 of service.</para>
 
                                 is particularly useful for this type
                                 of service.</para>
 
-                                <para>Behaviour of
+                                <para>Behavior of
                                 <option>dbus</option> is similar to
                                 <option>simple</option>, however it is
                                 expected that the daemon acquires a
                                 <option>dbus</option> is similar to
                                 <option>simple</option>, however it is
                                 expected that the daemon acquires a
                                 <varname>BusName=</varname> is
                                 specified.</para>
 
                                 <varname>BusName=</varname> is
                                 specified.</para>
 
-                                <para>Behaviour of
+                                <para>Behavior of
                                 <option>notify</option> is similar to
                                 <option>simple</option>, however it is
                                 expected that the daemon sends a
                                 <option>notify</option> is similar to
                                 <option>simple</option>, however it is
                                 expected that the daemon sends a
                                 not set, it will be implicitly set to
                                 <option>main</option>.</para>
 
                                 not set, it will be implicitly set to
                                 <option>main</option>.</para>
 
-                                <para>Behaviour of
+                                <para>Behavior of
                                 <option>idle</option> is very similar
                                 to <option>simple</option>, however
                                 actual execution of a the service
                                 <option>idle</option> is very similar
                                 to <option>simple</option>, however
                                 actual execution of a the service
                                 argument (i.e. the program to execute)
                                 may not be a variable, and must be a
                                 literal and absolute path
                                 argument (i.e. the program to execute)
                                 may not be a variable, and must be a
                                 literal and absolute path
-                                name.</para></listitem>
+                                name.</para>
+
+                                <para>Note that this setting does not
+                                directly support shell command
+                                lines. If shell command lines are to
+                                be used they need to be passed
+                                explicitly to a shell implementation
+                                of some kind. Example:
+                                <literal>ExecStart=/bin/sh -c 'dmesg | tac'</literal></para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>
                         </varlistentry>
 
                         <varlistentry>
                                 hit a timeout.</para></listitem>
                         </varlistentry>
 
                                 hit a timeout.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>SuccessExitStatus=</varname></term>
+                                <listitem><para>Takes a list of exit
+                                status definitions that when returned
+                                by the main service process will be
+                                considered successful termination, in
+                                addition to the normal successful exit
+                                code 0 and the signals SIGHUP, SIGINT,
+                                SIGTERM and SIGPIPE. Exit status
+                                definitions can either be numeric exit
+                                codes or termination signal names, and
+                                are separated by spaces. Example:
+                                "<literal>SuccessExitStatus=1 2 8
+                                SIGKILL</literal>", ensures that exit
+                                codes 1, 2, 8 and the termination
+                                signal SIGKILL are considered clean
+                                service
+                                terminations.</para></listitem>
+                        </varlistentry>
+
+                        <varlistentry>
+                                <term><varname>RestartPreventExitStatus=</varname></term>
+                                <listitem><para>Takes a list of exit
+                                status definitions that when returned
+                                by the main service process will
+                                prevent automatic service restarts
+                                regardless of the restart setting
+                                configured with
+                                <varname>Restart=</varname>. Exit
+                                status definitions can either be
+                                numeric exit codes or termination
+                                signal names, and are separated by
+                                spaces. Defaults to the empty list, so
+                                that by default no exit status is
+                                excluded from the configured restart
+                                logic. Example:
+                                "<literal>RestartPreventExitStatus=1 6
+                                SIGABRT</literal>", ensures that exit
+                                codes 1 and 6 and the termination signal
+                                SIGABRT will not result in automatic
+                                service restarting.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>PermissionsStartOnly=</varname></term>
                                 <listitem><para>Takes a boolean
                         <varlistentry>
                                 <term><varname>PermissionsStartOnly=</varname></term>
                                 <listitem><para>Takes a boolean