mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-27 13:57:26 +03:00
man: clarify what Restart= means
Related to https://bugzilla.redhat.com/show_bug.cgi?id=957135.
This commit is contained in:
parent
d7e011e5bf
commit
a827e37371
@ -553,8 +553,8 @@
|
||||
<varlistentry>
|
||||
<term><varname>WatchdogSec=</varname></term>
|
||||
<listitem><para>Configures the
|
||||
watchdog timeout for a service. This
|
||||
is activated when the start-up is
|
||||
watchdog timeout for a service. The
|
||||
watchdog is activated when the start-up is
|
||||
completed. The service must call
|
||||
<citerefentry><refentrytitle>sd_notify</refentrytitle><manvolnum>3</manvolnum></citerefentry>
|
||||
regularly with "WATCHDOG=1" (i.e. the
|
||||
@ -588,37 +588,66 @@
|
||||
<varlistentry>
|
||||
<term><varname>Restart=</varname></term>
|
||||
<listitem><para>Configures whether the
|
||||
main service process shall be
|
||||
restarted when it exits. Takes one of
|
||||
service shall be restarted when the
|
||||
service process exits, is killed,
|
||||
or a timeout is reached. The service
|
||||
process may be the main service
|
||||
process, but also one of the processes
|
||||
specified with
|
||||
<varname>ExecStartPre=</varname>,
|
||||
<varname>ExecStartPost=</varname>,
|
||||
<varname>ExecStopPre=</varname>,
|
||||
<varname>ExecStopPost=</varname>, or
|
||||
<varname>ExecReload=</varname>.
|
||||
When the death of the process is a
|
||||
result of systemd operation (e.g. service
|
||||
stop or restart), the service will not be
|
||||
restarted. Timeouts include missing
|
||||
the watchdog "keep-alive ping"
|
||||
deadline and a service start, reload,
|
||||
and stop operation timeouts.</para>
|
||||
|
||||
<para>Takes one of
|
||||
<option>no</option>,
|
||||
<option>on-success</option>,
|
||||
<option>on-failure</option>,
|
||||
<option>on-abort</option> or
|
||||
<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
|
||||
service will not be restarted. 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
|
||||
restarted only when it exited with an
|
||||
exit code not equaling 0, when
|
||||
terminated by a signal (including on
|
||||
restarted only when the service process
|
||||
exits cleanly.
|
||||
In this context, a clean exit means
|
||||
an exit code of 0, or one of the signals
|
||||
SIGHUP, SIGINT, SIGTERM, or SIGPIPE, and
|
||||
additonally, exit statuses and signals
|
||||
specified in <varname>SuccessExitStatus=</varname>.
|
||||
If set to <option>on-failure</option>
|
||||
the service will be restarted when the
|
||||
process exits with an nonzero exit code,
|
||||
is terminated by a signal (including on
|
||||
core dump), when an operation (such as
|
||||
service reload) times out or when the
|
||||
configured watchdog timeout is
|
||||
triggered. If set to
|
||||
<option>on-abort</option> it will be
|
||||
restarted only if it exits due to
|
||||
reception of an uncaught signal
|
||||
(including on core dump). If set to
|
||||
service reload) times out, and when the
|
||||
configured watchdog timeout is triggered.
|
||||
If set to
|
||||
<option>on-abort</option> the service
|
||||
will be restarted only if the service
|
||||
process exits due to an uncaught
|
||||
signal not specified as a clean exit
|
||||
status.
|
||||
If set to
|
||||
<option>always</option> the service
|
||||
will be restarted regardless whether
|
||||
it exited cleanly or not, got
|
||||
terminated abnormally by a signal or
|
||||
hit a timeout.</para></listitem>
|
||||
hit a timeout.</para>
|
||||
|
||||
<para>In addition to the above settings,
|
||||
the service will not be restarted if the
|
||||
exit code or signal is specified in
|
||||
<varname>RestartPreventExitStatus=</varname>
|
||||
(see below).</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@ -631,8 +660,8 @@
|
||||
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:
|
||||
codes or termination signal names,
|
||||
separated by spaces. Example:
|
||||
"<literal>SuccessExitStatus=1 2 8
|
||||
SIGKILL</literal>", ensures that exit
|
||||
codes 1, 2, 8 and the termination
|
||||
|
@ -1466,6 +1466,9 @@ static int service_search_main_pid(Service *s) {
|
||||
r = unit_watch_pid(UNIT(s), pid);
|
||||
if (r < 0)
|
||||
/* FIXME: we need to do something here */
|
||||
log_warning_unit(UNIT(s)->id,
|
||||
"Failed to watch PID %lu from service %s",
|
||||
(unsigned long) pid, UNIT(s)->id);
|
||||
return r;
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user