aboutsummaryrefslogtreecommitdiffstats
s6-linux-init: the s6-linux-init-shutdownd program

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 an s6-linux-init installation. It is not meant to be called directly by the user.

Interface

     s6-linux-init-shutdownd [ -d notif ] [ -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

  • -d notif : when ready (actually listening to its named pipe), write a newline to file descriptor notif then close it. This allows s6-linux-init-shutdownd to use the s6 mechanism to notify readiness. notif cannot be lesser than 3. If this option is not given, no readiness notification is sent.
  • -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