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