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?

Attachment: pgpyRIkS5liWe.pgp
Description: PGP signature

_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to