Leo Famulari <l...@famulari.name> skribis:

> On Sun, May 14, 2017 at 11:36:17PM +0200, Ludovic Courtès wrote:
>> What does /var/log/shepherd.log show around the time where you hit
>> “halt”?
>> 
>> I get something like this:
>> 
>> --8<---------------cut here---------------start------------->8---
>> 18:06:26 Service mcron has been stopped.
>> 18:06:26 sending all processes the TERM signal
>
> For me, this is where it gets stuck:
>
> ------
> 2017-05-16 19:12:53 sending all processes the TERM signal
> 2017-05-16 19:12:58 waiting for process termination (processes left: (1 494)) 
> 2017-05-16 19:13:00 waiting for process termination (processes left: (1 494)) 
> 2017-05-16 19:13:02 waiting for process termination (processes left: (1 494)) 
> ------
>
> In my experience, it will wait here forever.
>
> And from `ps aux`:
>
> leo        494  0.0  0.1  27232  3676 ?        Ss   19:12   0:00 tmux

Interesting.  The code for this is in (gnu services base).  It sends
SIGTERM, waits for a few seconds, and then sends SIGKILL, which
processes cannot survive AFAIK, and then enters that ‘wait’ loop.

This is on the bare metal and /etc/shepherd/do-not-kill does not exist,
right?

We could always add a round of SIGKILL in the ‘wait’ loop, but that
doesn’t sound right.  Does /var/log/messages contain any hints as to why
tmux wasn’t terminated?

Thanks,
Ludo’.



Reply via email to