]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/basic/cgroup-util.h
service: make killmode=cgroup|mixed, SendSIGKILL=no services singletons 11457/head
authorDaniel Black <daniel@linux.ibm.com>
Wed, 16 Jan 2019 10:20:18 +0000 (21:20 +1100)
committerDaniel Black <daniel@linux.ibm.com>
Tue, 29 Jan 2019 04:35:59 +0000 (15:35 +1100)
commitc53d2d54bd29bd6f4c21705ae23425ade8c12167
tree99a279fe88a0c143f3c707ef881e8920cc9f5a14
parent61a38e02650b8e7f097cadaa40aab0847605a383
service: make killmode=cgroup|mixed, SendSIGKILL=no services singletons

KillMode=mixed and control group are used to indicate that all
process should be killed off. SendSIGKILL is used for services
that require a clean shutdown. These are typically database
service where a SigKilled process would result in a lengthy
recovery and who's shutdown or startup time is quite variable
(so Timeout settings aren't of use).

Here we take these two factors and refuse to start a service if
there are existing processes within a control group. Databases,
while generally having some protection against multiple instances
running, lets not stress the rigor of these. Also ExecStartPre
parts of the service aren't as rigoriously written to protect
against against multiple use.

closes #8630
man/systemd.kill.xml
src/basic/cgroup-util.c
src/basic/cgroup-util.h
src/core/service.c
src/core/unit.c
src/core/unit.h