[systemd-devel] Allow stop jobs to be killed during shutdown

Lennart Poettering lennart at poettering.net
Fri Jan 24 07:03:49 PST 2014


On Fri, 24.01.14 09:53, Tom Horsley (horsley1953 at gmail.com) wrote:

> There doesn't appear to be any way to convince systemd
> to abandon utterly unimportant "stop jobs" during
> shutdown and advance to actually important things
> like cleanly syncing and un-mounting local hard
> disks.
> 
> For example, there are bugs like this:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1023820
> 
> Who really cares if we wait on a user daemon to
> stop when we are shutting down the whole system?
> And this is a bug anyway, there isn't actually
> anything to wait on. Bugs like this will reappear
> (this is inevitable).
> 
> More relevant perhaps is waiting on an NFS filesystem
> to unmount when I happen to know the frigging
> remote system has gone down and won't be talking to
> me, yet systemd insists on waiting practically
> forever for the umount.
> 
> Couldn't systemd listen for Ctrl-Alt-Delete on the
> console keyboard and stop waiting on whatever
> stop job(s) it is hung up on at the moment?
> 
> There really are times the poor fool sitting in
> front of the system has better information than
> systemd. (And might like to get his system shutdown
> cleanly so he can get home on time :-).

It is our job to shutdown all services cleanly. A number of services
needs this, since they need to bring their files into a safe state
before quitting, and mark them as "offline". We cannot just drop that.

Note however, that we add have timeouts on all service shutdown
commands, so when some service hangs it will be forcibly aborted with
SIGKILL after 90s.

That all said, you can just shutdown with "systemctl poweroff -f"
instead of normal "systemctl poweroff". This will still bring the file
systems in order and things, but wil not bother with shutting down
system services cleanly, but simply SIGTERM and SIGKILL them after a
much shorter timeout.

However, something like that can never be the default, we need to give
services the chance to shut down cleanly and in the right order.

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list