[systemd-devel] ExecReload-spawned process getting SIGKILLed

Sam Varshavchik mrsam at courier-mta.com
Thu Jun 7 05:41:54 PDT 2012


After going from F16 to F17, going from systemd 37 to systemd 44, seemingly,  
my ExecReload broke.

Using strace, my process is getting SIGKILLed. I suspect this is systemd's  
doing, and I would like to confirm my suspicions.

The service file has Type=Forking and RemainAfterExit=true.

The process invoked by ExecStart forks, the parent terminates, the child  
continues to run.

The same is true for ExecReload. The process invoked by ExecReload forks,  
and the parent terminates. The child process makes the necessary arrangement  
to contact the current background process, transfer the internal application  
state to the new process, then the original process terminates, with the  
child taking its place.

My strace shows that the new background process gets SIGKILLed shortly  
thereafter. Without any other theories, I'm just guessing that systemd  
expects that every process started by ExecReload should terminate, and will  
SIGKILL any stragglers, and that doesn't work for me.

Assuming that my guess is true, and that ExecReload's behavior in systemd  
has changed, how should I configure something like this, then, for  
ExecReload to spawn off a child process to take the existing child process's  
place?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20120607/2ca957b6/attachment.pgp>


More information about the systemd-devel mailing list