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
- The s6-linux-init-shutdownd binary is not meant to be called directly by administrators. It is run by a s6 service that is automatically generated by s6-linux-init-maker.
