<div dir="ltr"><div>Hello Lennart and Michal,</div><div><br></div><div>Thank you for your replies. The cgroup file is below - can you please advise what is the relevant part to check?</div><div><br></div><div>The problem is most likely with systemd thinking the program is stopped because "systemctl status" reports:</div><div>Aug 10 03:57:32 myhost systemd[1]: product_routed.service: Main process exited, code=exited, status=1/FAILURE<br>Aug 10 03:57:32 myhost systemd[1]: product_routed.service: Failed with result 'exit-code'.</div><div><br></div><div>We will look into that, thank you.</div><div><br></div><div># cat /proc/17824/cgroup<br>12:memory:/<br>11:pids:/user.slice/user-0.slice/session-623.scope<br>10:rdma:/<br>9:hugetlb:/<br>8:blkio:/<br>7:devices:/user.slice<br>6:cpuset:/<br>5:net_cls,net_prio:/<br>4:freezer:/<br>3:perf_event:/<br>2:cpu,cpuacct:/user.slice/user-0.slice/session-623.scope<br>1:name=systemd:/user.slice/user-0.slice/session-623.scope<br>0::/user.slice/user-0.slice/session-623.scope<br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 11 Aug 2020 at 03:08, Lennart Poettering <<a href="mailto:lennart@poettering.net">lennart@poettering.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Do, 06.08.20 13:59, David Cunningham (<a href="mailto:dcunningham@voisonics.com" target="_blank">dcunningham@voisonics.com</a>) wrote:<br>
<br>
> Hello,<br>
><br>
> I'm developing a service called product_routed which is managed by systemd.<br>
> The service can normally be stopped with "service product_routed stop" or<br>
> "systemctl stop product_routed", however for some reason after the service<br>
> has been running for a while (a few days or more) the stop command no<br>
> longer works. Can anyone help me find why?<br>
><br>
> When the application stop works initially (for the first day or two) we see<br>
> a TERM signal sent to the application, as confirmed by logging in the<br>
> application itself (which is written in perl), and is reported by "strace<br>
> -p <pid> -e 'trace=!all'". However once the problem starts no signal is<br>
> sent to the application at all when "service product_routed stop" or<br>
> "systemctl stop product_routed" is run.<br>
<br>
Note that on systemd for a unit that is already stopped issuing<br>
another "systemctl stop" is a NOP and doesnt result in another SIGTERM<br>
to be sent....<br>
<br>
So, when you issue your second "systemctl stop", is the service<br>
actually running in systemd's eyes? (i.e. what does "systemctl status"<br>
say about the service?)<br>
<br>
> The systemd file is as below, and we've confirmed that the PIDFile contains<br>
> the correct PID when the stop is attempted. Would anyone have any<br>
> suggestions on how to debug this? Thank you in advance.<br>
><br>
> # cat /etc/systemd/system/product_routed.service<br>
> [Unit]<br>
> Description=Product routing daemon<br>
> After=syslog.target network.target mysql.service<br>
><br>
> [Service]<br>
> Type=forking<br>
> ExecStart=/opt/product/current/bin/routed<br>
> PIDFile=/var/run/product/routed.pid<br>
> Restart=on-abnormal<br>
> RestartSec=1<br>
> LimitSTACK=infinity<br>
> LimitNOFILE=65535<br>
> LimitNPROC=65535<br>
><br>
> [Install]<br>
> WantedBy=multi-user.target<br>
<br>
Please provide the "sytemctl status" output when this happens.<br>
<br>
Lennart<br>
<br>
--<br>
Lennart Poettering, Berlin<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>David Cunningham, Voisonics Limited<br><a href="http://voisonics.com/" target="_blank">http://voisonics.com/</a><br>USA: +1 213 221 1092<br>New Zealand: +64 (0)28 2558 3782</div></div></div></div></div></div></div></div></div></div></div>