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)
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to