guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Shepherd does not recycle zombie processes


From: Dale Mellor
Subject: Re: Shepherd does not recycle zombie processes
Date: Thu, 24 Nov 2016 08:27:06 +0000

On Mon, 2016-11-07 at 09:53 +0100, Ludovic Courtès wrote:
> Hi,
> 
> Carlo Zancanaro <address@hidden> 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.

  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.

Tuppence,
/Dale





reply via email to

[Prev in Thread] Current Thread [Next in Thread]