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: Ludovic Courtès
Subject: Re: Shepherd does not recycle zombie processes
Date: Thu, 24 Nov 2016 14:22:36 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Dale Mellor <address@hidden> skribis:

> 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.

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’.



reply via email to

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