[systemd-devel] Do Systemd service have limitation w.r.t IPC on forked process
Stiju
stiju.easo at gmail.com
Wed Jul 28 16:47:26 UTC 2021
Hi,
I have a templated service and socket, for my program.
thou may not be relevant here , socket is written for inetd (ie FD 0 and 1)
the service type is put as "simple" in systemd configuration,
the service spawns many processes in some flows ( fork + execv ) .
the spawned process opens , IPC connection ( normal socket to another
system ), the process is killed by systemd.
is this expected?
Strace of the killed process shows
*ioctl(4, FIONBIO, [0]) = 0write(0, "[112] [IpcIO_Recv] (2 4 0x1b335a0 4)
[CRYPT]\n", 45) = 45write(0, "[280] BIO[0x1b32770]:read(4, 5) - socket
fd=4\n", 46) = 46read(4, 0x1b60533, 5) = ? ERESTARTSYS (To be restarted if
SA_RESTART is set)--- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=1,
si_uid=0} ---+++ killed by SIGTERM +++*
Same issue is not seen for flows where fork+ execv is not there ( ie execv
flows and one where we dont load any process)
Socket file looks like below :
*[Unit]Description=XXXXPartOf=my.service*
*[Socket]ListenStream=7777Accept=yes*
*[Install]WantedBy=sockets.target*
--
Stiju Easo
The unexamined life is not worth living for man.
Socrates, in Plato, Dialogues, Apology
Greek philosopher in Athens (469 BC - 399 BC)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20210728/4ba03211/attachment.htm>
More information about the systemd-devel
mailing list