summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-06-15 12:05:26 +0200
committerLennart Poettering <lennart@poettering.net>2015-06-15 12:06:02 +0200
commitcceb20c75ca4eb14cb72866e9490691b543f0dd6 (patch)
treef7985f701690311bc3e2bc459b6af8b6720e625c /man
parente8c53936316288ea3b33b5997b175862f0efef92 (diff)
man: document that ExecStop= needs a synchronous tool
As requested in #199.
Diffstat (limited to 'man')
-rw-r--r--man/systemd.service.xml19
1 files changed, 15 insertions, 4 deletions
diff --git a/man/systemd.service.xml b/man/systemd.service.xml
index 0fe694ab7e..e26196323d 100644
--- a/man/systemd.service.xml
+++ b/man/systemd.service.xml
@@ -383,10 +383,21 @@
run, all processes remaining for a service are terminated
according to the <varname>KillMode=</varname> setting (see
<citerefentry><refentrytitle>systemd.kill</refentrytitle><manvolnum>5</manvolnum></citerefentry>).
- If this option is not specified, the process is terminated
- immediately when service stop is requested. Specifier and
- environment variable substitution is supported (including
- <varname>$MAINPID</varname>, see above).</para></listitem>
+ If this option is not specified, the process is terminated by
+ sending the signal specified in <varname>KillSignal=</varname>
+ when service stop is requested. Specifier and environment
+ variable substitution is supported (including
+ <varname>$MAINPID</varname>, see above).</para>
+
+ <para>Note that it is usually not sufficient to specify a
+ command for this setting that only asks the service to
+ terminate (for example by queuing some form of termination
+ signal for it), but does not wait for it to do so. Since the
+ remaining processes of the services are killed using
+ <constant>SIGKILL</constant> immediately after the command
+ exited this would not result in a clean stop. The specified
+ command should hence be a synchronous operation, not an
+ asynchronous one.</para></listitem>
</varlistentry>
<varlistentry>