On 10/06/2016 07:49, Eric Vidal wrote:
s6-ipcserver -U -1 -- /dev/log fdmove -c 1 2 ucspilogd IPCREMOTEEUID IPCREMOTEEGID
Your supervised program isn't ucspilogd, it's s6-ipcserver. s6-ipcserver spawns ucspilogd instances when it's getting a connection on /dev/log. s6-ipcserver dies when you kill the service; its ucspilogd children do not get killed.
When i update a database which do not contents this bundle, these two services disappear from the supervision tree. However, some ucspilogd IPCREMOTEEUID IPCREMOTEEGID line keep running on background without, obviously, a s6-supervise on it. This behaviour is not as it all the time. Sometime all the line disappear for the supervision tree, sometime some line rest on the "supervision tree" This is normal?
Yes. It just means that something has a syslog() connection open. The ucspilogd process you're seeing just hasn't noticed yet that its logger is dead because its client hasn't sent any data since the services were stopped. It will die next time its client tries sending a log line. Sigh. It may lose a log line. I could fix that by making ucspilogd asynchronous (it's one of the very few synchronous programs I have left, I thought it was simple enough that synchronous could work, but apparently I was wrong and synchronous sucks in ALL cases). But honestly, it's syslog, so I don't really care. -- Laurent