---
name: "halt"
section: "8"
platform: "linux"
package: "sysvinit-core"
version: "3.14-4"
release: "Debian 13 (Trixie)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/halt"
---

# halt(8)

stop the system

## NAME

halt, reboot, poweroff - stop the system

## SYNOPSIS

**/sbin/halt** \[**-d**\] \[**-f**\] \[**-h**\] \[**-i**\] \[**-n**\] \[**-p**\] \[**-w**\]\
 **/sbin/reboot** \[**-d**\] \[**-f**\] \[**-i**\] \[**-k**\] \[**-m \<message\>**\] \[**-n**\] \[**-w**\]\
 **/sbin/poweroff** \[**-d**\] \[**-f**\] \[**-h**\] \[**-i**\] \[**-n**\] \[**-w**\]

## DESCRIPTION

**halt** notes that the system is being brought down in the file */var/log/wtmp*, and then either tells the kernel to halt, reboot or power-off the system.

If **halt** or **reboot** is called when the system is *not* in runlevel **0** or **6**, in other words when it's running normally, **shutdown** will be invoked instead (with the **-h** or **-r** flag). For more info see the [**shutdown**(8)](/shutdown/8.md) manpage.

The rest of this manpage describes the behavior in runlevels 0 and 6, that is when the systems shutdown scripts are being run.

## OPTIONS

- **-d**

  Don't write the wtmp record.

- **-f**

  Force halt or reboot, don't call [**shutdown**(8)](/shutdown/8.md).

- **-h**

  Put all hard drives on the system in stand-by mode just before halt or power-off.

- **-i**

  Shut down all network interfaces just before **halt** or **reboot**. Warning: This may not work on interfaces which do not have an IP address and should ideally be handled by a network manager service.

- **-k**

  Try to reboot using **kexec**, if kernel supports it.

- **-m**

  When running on a Linux system, any quoted parameter after the -m flag will be passed to the firmware to be interpreted at boot time. Some systems, like the Raspberry Pi, can use this to switch target partitions. Please note, this parameter enables -f, forcing the reboot command to handle shutting down itself.

- **-n**

  Don't sync before reboot or halt. Note that the kernel and storage drivers may still sync. This implies **-d**.

- **-p**

  When halting the system, switch off the power. This is the default when **halt** is called as **poweroff**.

- **-w**

  Don't actually reboot or halt but only write the wtmp record (in the */var/log/wtmp* file).

## DIAGNOSTICS

If you're not the superuser, you will get the message \`must be superuser'.

## NOTES

Under older **sysvinit** releases, **reboot** and **halt** should never be called directly. From release 2.74 on, **halt** and **reboot** invoke [**shutdown**(8)](/shutdown/8.md) if the system is not in runlevel 0 or 6. This means that if **halt** or **reboot** cannot find out the current runlevel (for example, when */var/run/utmp* hasn't been initialized correctly and */var/run/runlevel* does not exist) **shutdown** will be called, which might not be what you want. Use the **-f** flag if you want to do a hard **halt** or **reboot**.

The **-h** flag puts all hard disks in standby mode just before halt or power-off. Right now this is only implemented for IDE drives. A side effect of putting the drive in stand-by mode is that the write cache on the disk is flushed. This is important for IDE drives, since the kernel doesn't flush the write cache itself before power-off.

The **halt** program uses */proc/ide/hd\** to find all IDE disk devices, which means that */proc* needs to be mounted when **halt** or **poweroff** is called or the **-h** switch will do nothing.

## AUTHOR

Miquel van Smoorenburg ⟨miquels@\\:cistron\\:.nl⟩

## SEE ALSO

[**shutdown**(8)](/shutdown/8.md), [**init**(8)](/init/8.md)
