I added hard-stop-after
to my configuration
global
hard-stop-after 200s
but after 10 minutes since reload there is still 3 old processes running.
/system.slice/haproxy.service
├─ 1731 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 16182 6320 -x /run/haproxy/admin.sock
├─ 6320 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 12110 23479 -x /run/haproxy/admin.sock
├─16182 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 6320 -x /run/haproxy/admin.sock
└─19335 /usr/sbin/haproxy -Ws -f /etc/haproxy/conf.d -p /run/haproxy.pid -S /run/haproxy-master.sock -sf 16182 6320 -x /run/haproxy/admin.sock
I can only guess one option - old processes does not get new config so this parameter does not apply to them. But on the other side that’s a global level parameter so I expect that master process will do what’s required - terminate old processes.