s6-linux-init
Software
skarnet.org

# The `s6-linux-init-hpr` program

`s6-linux-init-hpr` triggers the software shutdown procedure, or, with the `-f` option, it perform an immediate hardware shutdown. It is normally invoked through `halt`, `poweroff` or `reboot` wrappers created by s6-linux-init-maker.

## Interface

         s6-linux-init-hpr [ -f ] [ -h | -p | -r ] [ -n ] [ -d | -w ] [ -W ] [ -i ]

- If the `-f` option is present, the system is stopped or rebooted immediately.
- Else, the machine's shutdown procedure is started.
- The command exits 0; the shutdown procedure happens asynchronously.

This interface is the traditional sysvinit interface for the `halt`, `poweroff` and `reboot` programs. `s6-linux-init-hpr` must always be called with one of the `-h`, `-p` or `-r` options.

## Options

- `-f` : force. The command will not trigger a clean shutdown procedure; it will just sync the filesystems then tell the kernel to immediately halt, poweroff or reboot. This should be the last step in the lifetime of the machine.
- `-h` : halt. The system will be shut down, but the power will remain up.
- `-p` : poweroff. The system will be shut down and the power turned off.
- `-r` : reboot. The system will reboot.
- `-n` : Do not call sync() before the hardware shutdown. The default is to sync, just in case. This option is only relevant when combined with `-f`; without it, it has no effect.
- `-d` : Do not write a wtmp shutdown entry.
- `-w` : Only write a wtmp shutdown entry; do not actually shut down the system.
- `-W` : Do not send a `wall` message to users before shutting down the system. Some other implementations of the `halt`, `poweroff` and `reboot` commands use the `--no-wall` long option to achieve this.
- `-i` : interactive confirmation request. The command needs to be launched in a terminal, and will prompt the user to type the (short) hostname of the machine to be shut down. On mismatch, the command will abort. The point is to avoid inadvertently rebooting a remote machine in an ssh session.

## Notes

- When an administrator runs s6-linux-init-maker, the resulting directory has a `bin/` subdirectory that contains `halt`, `poweroff` and `reboot` scripts that call `s6-linux-init-hpr` with the relevant option. The contents of this `bin/` subdirectory should then be copied by the administrator into `/sbin` for full interface compatibility with sysvinit.