[systemd-devel] [PATCH] service: kill processes with SIGKILL on watchdog failure

Hoyer, Marko (ADITG/SW2) mhoyer at de.adit-jv.com
Fri May 24 06:20:23 PDT 2013


> Just calling service_enter_dead() does not kill any processes.
 > As a result, the old process may still be running when the new one is 
started.

Thx for the fast response and alternative patch. I tested it in my 
environment as well and it works as expected killing the processes 
without executing the stop stuff.

 > After a watchdog failure the service is in an undefined state.
 > Using the normal shutdown mechanism makes no sense. Instead all 
processes are
 > just killed and the service can try to restart.

This might depend a bit on how one sees the intention of the stop stuff. 
You regard ExecStop and ExecStopPost as mechanism to support stopping a 
service using any thinkable way.

If you use ExecStopPost to do things (cleaning up or whatever) whenever 
the process has been stopped, this functionality might even make sense 
when the process is killed due to a missed watchdog notification.

Btw: ExecStopPost and ExecStop are called, when a process is killed by 
an external kill or even when it exits itsself properly. So this is 
somehow similar to the watchdog case, isn't it?

Best regards

Marko Hoyer

Advanced Driver Information Technology GmbH
Software Group II (ADITG/SW2)
Robert-Bosch-Str. 200
31139 Hildesheim
Germany

Tel. +49 5121 49 6948
Fax +49 5121 49 6999
mhoyer at de.adit-jv.com

ADIT is a joint venture company of Robert Bosch GmbH/Robert Bosch Car Multimedia GmbH and DENSO Corporation
Sitz: Hildesheim, Registergericht: Amtsgericht Hildesheim HRB 3438
Geschaeftsfuehrung: Wilhelm Grabow, Katsuyoshi Maeda


More information about the systemd-devel mailing list