Hi, On 12/7/21 1:34 PM, Benjamin Brunner wrote: >>>> Please correct me if I am wrong, I see the difference of the KillMode is, >>>> -- KillMode=mixed stops the processes more gentally, it kill the main >>>> process with SIGTERM and the remaining processes with SIGKILL. >>>> -- KillMode=control-group kills all in-cgroup processes with SIGKILL, >>>> which I feel a bit cruel for the main process. I think there's a miss-understanding here. Regardless of whether "mixed" or "control-group" mode (or any other mode actually) is used, the process used to kill processes part of a service is always the same, only the list of the killed processes differs. The process is as follow: 1. send the signal specified by KillSignal= to the list of processes (if any), TERM is the default 2. wait until either the target of process(es) exit or a timeout expires 3. if the timeout expires send the signal specified by FinalKillSignal=, KILL is the default For "control-group", all remaining processes will receive the SIGTERM signal (by default) and if there are still processes after a period f time, they will get the SIGKILL signal. For "mixed", only the main process will receive the SIGTERM signal, and if there are still processes after a period of time, all remaining processes (including the main one) will receive the SIGKILL signal. >>> There is no point sending SIGTERM to a process which doesn't respond to >>> it. mdmon is the only mdadm service which handles SIGTERM. So it might >>> make sense to uise KillMode=mixed for that. >>> For anything else, SIGKILL via KillMode=control-group is perfectly >>> acceptable. I don't know enough mdadm to suggest a mode but maybe the clarification above will help you figuring this out. That said it sounds a bit strange that some processes don't respond to SIGTERM. Is that done because some services need to run lately during the shutdown process ? Thanks.