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.