Hey Ludo! On Mon, Nov 07 2016, Ludovic Courtès wrote > Could it be that you invoke the ‘daemonize’ action after > respawnable processes have been started? The manual has this > caveat (info "(shepherd) The root and unknown services"): > > ‘daemonize’ > Fork and go into the background. This should be called > before respawnable services are started, as otherwise we > would not get the ‘SIGCHLD’ signals when they terminate. Yeah, I saw that note in the documentation. I used to have (action 'shepherd 'daemonize) as the first line in ~/.config/shepherd/init.scm. Is there some other way that I was supposed to do that? With that line in place, Shepherd will leave behind a process every time I stop/start a service. I have attached an example init.scm that does this for me. If I start: shepherd -c init.scm and then run: herd stop sleep herd start sleep herd stop sleep herd start sleep herd stop sleep then I will have three zombie sleep processes underneath my Shepherd process. (If the service were respawnable then it also would fail to restart the service.) I assume this behaviour is wrong, but if I'm doing something wrong then please let me know what it is. Carlo