[systemd-devel] Control process

Lennart Poettering lennart at poettering.net
Fri Dec 27 09:11:09 PST 2013


On Fri, 27.12.13 10:39, Marcos Felipe Rasia de Mello (marcosfrm at gmail.com) wrote:

> systemctl man page defines "kill --kill-who=control" as "kill [..] the
> control process". What is this control process? ExecStartPre=
> processes? These are killed automatically before ExecStart= according
> to https://bugzilla.redhat.com/show_bug.cgi?id=818381 , right?

control processes are the processes that systemd starts for a service
that are not the main process. There can only be one control process and
one main process at the same time at max. Control processes are
basically all those mentioned in ExecStartPre=, ExecStartPost=,
ExecReload=, ExecStop=, ... In some cases also the one from ExecStart=
if the daemon first has to double fork to become the main service
process. 

kill --kill-who=control is particularly useful for ExecReload= or
ExecStartPost= where you might have both a control and a main process
running. It's even useful for ExecStartPre= since you might have started
a process with that which forked a couple of times, and you explicitly
just want to kill the original control process you forked, not the
children.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list