DOKK / manpages / debian 12 / runit / runit-shutdown.8.en
SHUTDOWN(8) GNU/Linux System Adminstrator's manual SHUTDOWN(8)

shutdown, reboot, poweroff - poweroff or reboot the system

/sbin/shutdown [-h] [-r] [-f] [-F] [now]
/sbin/reboot [-w] [-f] [-n]
/sbin/halt [-w] [-f] [-n]
/sbin/poweroff [-w] [-f] [-n]

Shutdown is a program to poweroff or reboot the system that maintains some compatibility with original SysV-init halt, poweroff, reboot and shutdown programs. These programs are expected by some initscripts, graphical desktop environments and tools like acpi.
When called as shutdown, halt or poweroff without options, runit(8) is told to shutdown the system and poweroff.
When called as reboot runit(8) is told to reboot the system.
When runit(8) is not the current init system this program sends data in the appropriate format to perform the requested action to the initctl pipe, if it exists.

Shutdown the system and poweroff; this is the default. Actually this option is ignored and can be omitted, it is maintained only for backward compatibility with Sysv's shutdown.

Reboot the system instead of poweroff.

Write a /fastboot flag file. The program or the scripts responsible for the system boot task can test for this file when the system comes up again and decide to skip fsck. The program or the scripts that perform the boot task also need to take care of the removal of the flag file.

Write a /forcefsck flag file. The program or the scripts responsible for the system boot task can test for this file when the system comes up again and decide to run fsck with a 'force' flag. The program or the scripts that perform the boot task also need to take care of the removal of the flag file.


The original Sysv shutdown implementation allowed for an optional time parameter for a delayed shutdown and another one for a shutdown message. The runit shutdown program does not support any extra argument after the options, except for 'now'.

Invoke sync(), then force an unsafe reboot or poweroff immediately without signaling the init system. This will likely result in an unclean shutdown and can cause data loss or corruption. When runit is init, this option is a No-Op and all other options are ignored. See #899246

Invoke sync(), then force an unsafe reboot or poweroff immediately without signaling the init system. This will likely result in an unclean shutdown and can cause data loss or corruption. This option works regardless of the running init system.

No-Op, maintained for compatibility with initscripts. See #919699

Write a /etc/runit/nosync flag file. If this file exists runit does not invoke sync() before reboot or poweroff. The /etc/runit/nosync flag file is also checked when this program is called with -f or --force


Any other option given is ignored except that a warning is printed.

This program maintains a compatibility layer with SysV-init's initctl pipe according to the spec described in SysV-init's initctl(5). This allow one to reboot the system when switching from another init to runit-init.
Currently only switching from systemd and SysV-init is tested but any other init system that maintains an initctl pipe compatible with SysV's one should work.

Combining flags, like halt -wf is not supported, all merged short options will be ignored.

init(8)

August 30, 2022