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