s6-linux-init
Software
skarnet.org
The s6-linux-init-shutdownd program
s6-linux-init-shutdownd is the daemon that manages the shutdown
procedure for a s6-linux-init installation. It is not meant to be called
directly by the user.
Interface
s6-linux-init-shutdownd [ -c basedir ] [ -g gracetime ] [ -C ] [ -B ]
- s6-linux-init-shutdownd opens a named pipe in its current
directory and listens to it. This fifo has a fixed, internal, name: this is
a rendezvous point where programs such as
s6-linux-init-shutdown send their
commands when they are told to trigger the shutdown procedure.
- When it receives a command to shut down, s6-linux-init-shutdownd
first spawns the rc.shutdown script defined by the
s6-linux-init-maker invocation that
created the shutdownd service.
- When this script exits, s6-linux-init-shutdownd kills all
processes, first with a SIGTERM, then (after the grace time specified by
the shutdown command) with a SIGKILL.
- It then runs an automatically-generated script (called stage 4),
which unmounts the file systems and halts, powers off or reboots the
machine.
Options
- -c basedir : look for the
rc.shutdown script in the basedir/scripts
directory. Default is /etc/s6-linux-init/current.
- -g gracetime : if the shutdown command
does not specify a grace time between the SIGTERM and the SIGKILL, use
gracetime milliseconds. Default is 3000.
- -C : inform the shutdown daemon that it is running
in a container. This changes the nature of stage 4, since
exiting a container is slightly different from rebooting a real machine
(in particular, pid 1 has to exit, and great care must be given not to
leave any zombie hanging around).
- -B : inform the shutdown daemon that no catch-all
logger is running. This also changes the shutdown procedure slightly,
since some operations are specific to the existence of a catch-all
logger.
Notes