---
name: "poweroff"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/poweroff"
---

# poweroff(8)

close down the system at a given time

## NAME

**shutdown**, **poweroff** – close down the system at a given time

## SYNOPSIS

**shutdown** \[**-**\]\[ **-c** \| **-f** \| **-h** \| **-p** \| **-r** \| **-k**\]\[ **-o** \[**-n**\]\] \[**-q**\] *time* \[*warning-message* *...*\]

**poweroff**

## DESCRIPTION

The **shutdown** utility provides an automated shutdown procedure for super-users to nicely notify users when the system is shutting down, saving them from system administrators, hackers, and gurus, who would otherwise not bother with such niceties. In order to use the **shutdown** command, the user must have root privileges or be a member of the operator group.

The following options are available:

- **-c**

  The system is power cycled (power turned off and then back on) at the specified time. If the hardware doesn't support power cycle, the system will be rebooted. At the present time, only systems with BMC supported by the [ipmi(4)](/ipmi/4.md) driver that implement this functionality support this flag. The amount of time the system is off is dependent on the device that implements this feature.

- **-f**

  The **shutdown** command ignores the presence of the */var/run/noshutdown* file.

- **-h**

  The system is halted at the specified *time*.

- **-p**

  The system is halted and the power is turned off (hardware support required, otherwise the system is halted) at the specified *time*.

- **-r**

  The system is rebooted at the specified *time*.

- **-k**

  Kick everybody off. The **-k** option does not actually halt the system, but leaves the system multi-user with logins disabled (for all but super-user).

- **-o**

  If one of the **-c**, **-h**, **-p**, or **-r** options is specified, **shutdown** will execute [fasthalt(8)](/fasthalt/8.md) or [fastboot(8)](/fastboot/8.md) instead of sending a signal to [init(8)](/init/8.md).

- **-n**

  If the **-o** option is specified, prevent the file system cache from being flushed by passing **-n** to [fasthalt(8)](/fasthalt/8.md) or [fastboot(8)](/fastboot/8.md). This option should probably not be used.

- **-q**

  Shut down quietly. Suppress the warning message to all logged in users about system shutdown. It is an error to supply a *warning-message* when warnings are suppressed.

- *time*

  *Time* is the time at which **shutdown** will bring the system down and may be the case-insensitive word *now* (indicating an immediate shutdown) or a future time in one of two formats: *+number* or an absolute time specification. The first form brings the system down in *number* time units (defaulting to minutes), and the second at the absolute time specified.

  An absolute time may be specified in one of the following formats, where unspecified parts default to the current date:

  - *hhmm*

    Hour and minute.

  - *DDhhmm*

    Day, hour, and minute.

  - *MMDDhhmm*

    Month, day, hour, and minute.

  - *YYMMDDhhmm*

    Year (within the century), month, day, hour, and minute.

    The year *YY* is interpreted relative to the current century, with a one-year tolerance for values slightly in the past (to accommodate entry at year boundaries). *+number* may be specified in units other than minutes by appending the corresponding suffix: “s”, “sec”, “secs”, “m”, “min”, “mins”, “h”, “hour”, “hours”. The unit suffixes are case-insensitive.

    If an absolute time is specified, but not a date, and that time today has already passed, **shutdown** will assume that the same time tomorrow was meant. (If a complete date is specified which has already passed, **shutdown** will print an error and exit without shutting the system down.)

- *warning-message*

  Any other arguments comprise the warning message that is broadcast to users currently logged into the system.

- **-**

  If ‘**-**’ is supplied as an option, the warning message is read from the standard input.

At intervals, becoming more frequent as apocalypse approaches and starting at ten hours before shutdown, warning messages are displayed on the terminals of all users logged in. Five minutes before shutdown, or immediately if shutdown is in less than five minutes, logins are disabled by creating */var/run/nologin* and copying the warning message there. If this file exists when a user attempts to log in, [login(1)](/login/1.md) prints its contents and exits. The file is removed just before **shutdown** exits.

At shutdown time a message is written to the system log, containing the time of shutdown, the person who initiated the shutdown and the reason. The corresponding signal is then sent to [init(8)](/init/8.md) to respectively halt, reboot, or bring the system down to single-user state (depending on the above options). The time of the shutdown and the warning message are placed in */var/run/nologin* and should be used to inform the users about when the system will be back up and why it is going down (or anything else).

A scheduled shutdown can be canceled by killing the **shutdown** process (a SIGTERM should suffice). The */var/run/nologin* file that **shutdown** created will be removed automatically.

If the */var/run/noshutdown* file is present, **shutdown** exits without executing any action on the system.

When run without options, the **shutdown** utility will place the system into single-user mode at the *time* specified.

Calling “**poweroff**” is equivalent to running:

```
shutdown -p now
```

## FILES

- */var/run/nologin*

  tells [login(1)](/login/1.md) not to let anyone log in.

- */var/run/noshutdown*

  prevents **shutdown** from initiating an action on the system. Can be overridden with the **-f** option.

## EXAMPLES

Reboot the system in 30 minutes and display a warning message on the terminals of all users currently logged in:

```
# shutdown -r +30 "System will reboot"
```

Halt the system at 23:30 (using either format):

```
# shutdown -h 2330
```

```
# shutdown -h 23:30
```

Power off the system on June 15th at 10:00:

```
# shutdown -p 06151000
```

## COMPATIBILITY

The hours and minutes in any absolute time format may be separated by a colon (\`\`:'') for backward compatibility. For example, *hh:mm* is accepted as equivalent to *hhmm*.

## SEE ALSO

[kill(1)](/kill/1.md), [login(1)](/login/1.md), [wall(1)](/wall/1.md), [nologin(5)](/nologin/5.md), [halt(8)](/halt/8.md), [init(8)](/init/8.md), [reboot(8)](/reboot/8.md)

## HISTORY

A **shutdown** command was originally written by Ian Johnstone for UNSW's modified AT&T UNIX. It was modified and then incorporated in 4.1BSD.
