Dale Mellor <no-re...@rdmp.org> skribis: > On Mon, 2016-11-07 at 09:53 +0100, Ludovic Courtès wrote: >> Hi, >> >> Carlo Zancanaro <ca...@zancanaro.id.au> skribis: >> >> > I've had problems with Shepherd and its daemonize action. If I run >> > daemonize (as the first thing when Shepherd starts) then it fails to handle >> > signals from child processes. >> >> 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. >> >> HTH, >> Ludo’. > > Update: I'm no longer making any use of the daemonize method, instead > simply running as a detached process: `( shepherd & )' at a bash > command-line. It works perfectly well now, reaping (and restarting) > dead children as necessary.
OK. (That’s also what I do for my user Shepherd.) > Another problem I see though is that if there are jobs which depend on > one which has died, those jobs are not recycled. Probably this has not > been considered yet, and I'm thinking that a bit more thought needs to > go into the overall design of this thing... (I guess this also ties in > with the concepts of run-levels and hot-re-configuring the shepherd > core). Wish I had time to look into it. Certainly, help welcome! :-) Thanks, Ludo’.