[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