From b557f1c14760cd6f11a07352f972972b9edf9d62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 2 Oct 2019 13:53:49 +0200 Subject: [PATCH] man: document the RestartKillSignal= setting --- man/systemd.kill.xml | 40 ++++++++++++++++++++++------------------ man/systemd.service.xml | 32 +++++++++++++++----------------- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/man/systemd.kill.xml b/man/systemd.kill.xml index 2c6fea7493..6a1c67d406 100644 --- a/man/systemd.kill.xml +++ b/man/systemd.kill.xml @@ -85,32 +85,36 @@ unless it is empty. Processes will first be terminated via SIGTERM (unless the signal to send - is changed via KillSignal=). Optionally, this is immediately followed by a - SIGHUP (if enabled with SendSIGHUP=). If processes still - remain after the main process of a unit has exited or the delay configured via the - TimeoutStopSec= has passed, the termination request is repeated with the - SIGKILL signal or the signal specified via FinalKillSignal= - (unless this is disabled via the SendSIGKILL= option). See - kill2 for more - information. + is changed via KillSignal= or RestartKillSignal=). Optionally, + this is immediately followed by a SIGHUP (if enabled with + SendSIGHUP=). If processes still remain after the main process of a unit has + exited or the delay configured via the TimeoutStopSec= has passed, the termination + request is repeated with the SIGKILL signal or the signal specified via + FinalKillSignal= (unless this is disabled via the SendSIGKILL= + option). See kill2 + for more information. Defaults to . KillSignal= - Specifies which signal to use when killing a - service. This controls the signal that is sent as first step - of shutting down a unit (see above), and is usually followed - by SIGKILL (see above and below). For a - list of valid signals, see + Specifies which signal to use when stopping a service. This controls the signal that + is sent as first step of shutting down a unit (see above), and is usually followed by + SIGKILL (see above and below). For a list of valid signals, see signal7. - Defaults to SIGTERM. + Defaults to SIGTERM. - Note that, right after sending the signal specified in - this setting, systemd will always send - SIGCONT, to ensure that even suspended - tasks can be terminated cleanly. + Note that, right after sending the signal specified in this setting, systemd will always send + SIGCONT, to ensure that even suspended tasks can be terminated cleanly. + + + + + RestartKillSignal= + Specifies which signal to use when restarting a service. The same as + KillSignal= described above, with the exception that this setting is used in a + restart job. Not set by default, and the value of KillSignal= is used. diff --git a/man/systemd.service.xml b/man/systemd.service.xml index 14840c2e16..af14eedfcc 100644 --- a/man/systemd.service.xml +++ b/man/systemd.service.xml @@ -477,26 +477,24 @@ ExecStop= - Commands to execute to stop the service - started via ExecStart=. This argument takes - multiple command lines, following the same scheme as described - for ExecStart= above. Use of this setting - is optional. After the commands configured in this option are - run, it is implied that the service is stopped, and any processes - remaining for it are terminated - according to the KillMode= setting (see + Commands to execute to stop the service started via + ExecStart=. This argument takes multiple command lines, following the same scheme + as described for ExecStart= above. Use of this setting is optional. After the + commands configured in this option are run, it is implied that the service is stopped, and any + processes remaining for it are terminated according to the KillMode= setting (see systemd.kill5). - 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 + If this option is not specified, the process is terminated by sending the signal specified in + KillSignal= or RestartKillSignal= 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 according to KillMode= and - KillSignal= as described above immediately after the command exited, this may not result in - a clean stop. The specified command should hence be a synchronous operation, not an asynchronous one. + Note that it is usually not sufficient to specify a command for this setting that only asks the + service to terminate (for example, by sending some form of termination signal to it), but does not + wait for it to do so. Since the remaining processes of the services are killed according to + KillMode= and KillSignal= or + RestartKillSignal= as described above immediately after the command exited, this + may not result in a clean stop. The specified command should hence be a synchronous operation, not an + asynchronous one. Note that the commands specified in ExecStop= are only executed when the service started successfully first. They are not invoked if the service was never started at all, or in case its