Systemd/src
Daniel Black c53d2d54bd 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
2019-01-29 15:35:59 +11:00
..
ac-power coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
activate tree-wide: use FORK_RLIMIT_NOFILE_SAFE wherever possible 2018-12-01 12:50:45 +01:00
analyze Delete duplicate lines 2019-01-12 16:02:26 +01:00
ask-password coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
backlight tree-wide: port various places over to STARTSWITH_SET() 2018-11-26 14:08:46 +01:00
basic service: make killmode=cgroup|mixed, SendSIGKILL=no services singletons 2019-01-29 15:35:59 +11:00
binfmt coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
boot tree-wide: use '"' instead of '\"' 2019-01-17 16:46:29 +00:00
busctl tree-wide: whenever we allocate a new bus object, close it before dropping final ref 2019-01-17 16:12:38 +01:00
cgls coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
cgroups-agent log: introduce new helper call log_setup_service() 2018-11-20 11:18:22 +01:00
cgtop cgroup: s/cgroups? ?v?([0-9])/cgroup v\1/gI 2019-01-03 11:32:40 +09:00
core service: make killmode=cgroup|mixed, SendSIGKILL=no services singletons 2019-01-29 15:35:59 +11:00
coredump Remove 'inline' attributes from static functions in .c files (#11426) 2019-01-15 08:12:28 +01:00
cryptsetup generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
debug-generator generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
delta locale-util: prefix special glyph enum values with SPECIAL_GLYPH_ 2018-12-14 08:22:54 +01:00
detect-virt coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
dissect coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
environment-d-generator util-lib: split out env file parsing code into env-file.c 2018-12-02 13:22:29 +01:00
escape coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
firstboot locale-util: prefix special glyph enum values with SPECIAL_GLYPH_ 2018-12-14 08:22:54 +01:00
fsck fsck: use symbolic names where we have them 2019-01-07 17:50:39 +01:00
fstab-generator fstab-generator: remove spurious newline 2018-12-15 12:06:44 +01:00
fuzz udev: use typedef for struct udev_rules 2018-12-17 09:27:21 +01:00
getty-generator getty-generator: use the new main function definer 2018-12-12 21:58:00 +01:00
gpt-auto-generator Merge pull request #10912 from poettering/gpt-root-rw 2018-12-20 11:37:41 +01:00
hibernate-resume coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
hostname Merge pull request #11086 from poettering/nscd-cache-flush 2018-12-17 11:29:58 +01:00
hwdb Split out pretty-print.c and move pager.c and main-func.h to shared/ 2018-11-20 18:40:02 +01:00
id128 coccinelle: also mark previous synthetic errnos as such 2018-11-22 10:54:38 +01:00
import meson: generate version tag from git 2018-12-21 13:43:20 +01:00
initctl initctl: shorten and update code a bit 2019-01-17 16:12:38 +01:00
journal Remove 'inline' attributes from static functions in .c files (#11426) 2019-01-15 08:12:28 +01:00
journal-remote Remove 'inline' attributes from static functions in .c files (#11426) 2019-01-15 08:12:28 +01:00
kernel-install Add multiple initrd file support to kernel-install 2019-01-18 13:49:52 +01:00
libsystemd sd-event: introduce event_free_signal_data() 2019-01-18 13:53:43 +01:00
libsystemd-network libsystemd-network: use xsprintf in one more place 2019-01-16 13:34:31 +01:00
libudev Remove 'inline' attributes from static functions in .c files (#11426) 2019-01-15 08:12:28 +01:00
locale Merge pull request #11041 from yuwata/update-missing-v2 2018-12-04 16:19:02 +01:00
login Merge pull request #11465 from poettering/daemon-bus-flush 2019-01-18 13:48:52 +01:00
machine tree-wide: whenever we allocate a new bus object, close it before dropping final ref 2019-01-17 16:12:38 +01:00
machine-id-setup coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
modules-load modules-load: use static destructor and DEFINE_MAIN_FUNCTION() macro 2018-11-20 18:40:02 +01:00
mount Split out part of mount-util.c into mountpoint-util.c 2018-11-29 21:03:44 +01:00
network wait-online: do not fail if we receive invalid messages 2019-01-21 15:54:50 +01:00
notify coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
nspawn test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() 2019-01-16 12:29:30 +01:00
nss-myhostname Revert "nss: prevent PROTECT_ERRNO from squashing changes to *errnop" 2019-01-10 21:23:14 +01:00
nss-mymachines Revert "nss: prevent PROTECT_ERRNO from squashing changes to *errnop" 2019-01-10 21:23:14 +01:00
nss-resolve Revert "nss: prevent PROTECT_ERRNO from squashing changes to *errnop" 2019-01-10 21:23:14 +01:00
nss-systemd Revert "nss: prevent PROTECT_ERRNO from squashing changes to *errnop" 2019-01-10 21:23:14 +01:00
partition makefs: correct child process name 2018-12-01 12:50:45 +01:00
path coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
portable tree-wide: make sure to flush/close all bus connections when our daemons exit 2019-01-17 16:12:38 +01:00
quotacheck tree-wide: use FORK_RLIMIT_NOFILE_SAFE wherever possible 2018-12-01 12:50:45 +01:00
random-seed coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
rc-local-generator generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
remount-fs remount-fs: optionally remount / writable, if we are told through an env var 2018-12-18 14:47:44 +01:00
reply-password log: introduce new helper call log_setup_service() 2018-11-20 11:18:22 +01:00
resolve tree-wide: make sure to flush/close all bus connections when our daemons exit 2019-01-17 16:12:38 +01:00
rfkill rfkill: move wait_for_initialized() to shared/ 2018-12-17 13:50:51 +01:00
run tree-wide: port various places over to STARTSWITH_SET() 2018-11-26 14:08:46 +01:00
run-generator generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
shared Merge pull request #11427 from kragniz/10659-env-file-quotes 2019-01-18 13:50:15 +01:00
sleep sleep: install default sleep.conf 2019-01-03 14:43:15 +01:00
socket-proxy tree-wide: use c99 static for array size declarations 2019-01-04 12:37:25 +01:00
stdio-bridge tree-wide: make sure to flush/close all bus connections when our daemons exit 2019-01-17 16:12:38 +01:00
sulogin-shell tree-wide: use FORK_RLIMIT_NOFILE_SAFE wherever possible 2018-12-01 12:50:45 +01:00
sysctl sysctl: Don't pass null directive argument to '%s' 2018-12-16 21:01:39 -08:00
system-update-generator system-update-generator: use the new main function definer 2018-12-12 21:58:00 +01:00
systemctl test,systemctl,nspawn: use "const char*" instead of "char*" as iterator for FOREACH_STRING() 2019-01-16 12:29:30 +01:00
systemd sd-bus: add sd_bus_close_unref() helper 2019-01-17 16:12:38 +01:00
sysusers Merge pull request #10920 from yuwata/hashmap-destructor 2018-12-03 17:59:44 +01:00
sysv-generator generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
test test-process-util: do not assume PID 1 has UID=0 2019-01-21 11:41:37 +01:00
time-wait-sync time-wait: define main through macro 2018-11-23 06:22:30 +09:00
timedate timedate: refuse to set time when previous request is not finished 2019-01-15 15:15:26 +09:00
timesync tree-wide: make sure to flush/close all bus connections when our daemons exit 2019-01-17 16:12:38 +01:00
tmpfiles tmpfiles: Make C still copy if the destination directory is empty 2019-01-08 14:30:15 -06:00
tty-ask-password-agent coccinelle: make use of SYNTHETIC_ERRNO 2018-11-22 10:54:38 +01:00
udev Merge pull request #11349 from yuwata/udevadm-control-ping 2019-01-18 17:41:00 +01:00
update-done update-done: quit earlier on failure 2018-11-23 06:22:30 +09:00
update-utmp update-utmp: use _cleanup_ attribute to finalize process 2018-11-23 06:22:30 +09:00
user-sessions tree-wide: add whitespace between type and variable name 2018-12-04 09:29:54 +01:00
vconsole vconsole-setup: fonts copy will fail if the current terminal is in graphical mode 2018-12-13 08:30:20 +01:00
veritysetup generators: define custom main func definer and use it where applicable 2018-12-12 21:58:00 +01:00
volatile-root Split out part of mount-util.c into mountpoint-util.c 2018-11-29 21:03:44 +01:00