From cceb20c75ca4eb14cb72866e9490691b543f0dd6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 15 Jun 2015 12:05:26 +0200 Subject: man: document that ExecStop= needs a synchronous tool As requested in #199. --- man/systemd.service.xml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'man') 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 KillMode= setting (see systemd.kill5). - If this option is not specified, the process is terminated - immediately when service stop is requested. Specifier and - environment variable substitution is supported (including - $MAINPID, see above). + If this option is not specified, the process is terminated by + sending the signal specified in KillSignal= + when service stop is requested. Specifier and environment + variable substitution is supported (including + $MAINPID, see above). + + 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 + SIGKILL 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. -- cgit v1.2.3-54-g00ecf