SHUTDOWN(8) | System Manager's Manual | SHUTDOWN(8)

# NAME

`shutdown` — close down the system at a given time

# SYNOPSIS

`shutdown` | [`-Ddfhknprvxz`] [`-b` bootstr] time [message ... | `-`]

# DESCRIPTION

`shutdown` 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.

Available friendlinesses:

`-b` bootstr
  The given bootstr is passed to reboot(8) for the benefit of those systems that can pass boot arguments to the firmware. Currently, this only affects sun3 and sparc machines.
`-d`
  `shutdown` will pass the `-d` flag to reboot(8) or halt(8) to request a kernel core dump. If neither the `-h` nor `-r` flags are specified, then `-d` also implies `-r`.
`-f`
  `shutdown` arranges, in the manner of fastboot(8), for the file systems not to be checked on reboot.
`-h`
  The system is halted at the specified time, using halt(8).
`-k`
  Just kidding. The `-k` option does not actually halt the system, but goes through the motions as if it were going to halt, then when the time arrives, writes a message and just exits.
`-n`
  Prevent the normal sync(2) before stopping.
`-p`
  The system is powered down at the specified time, using poweroff(8). If the powerdown fails, or the system does not support software powerdown, the system will simply halt instead. The `-p` flag implies `-h`.
`-r`
  The system is rebooted at the specified time, using reboot(8).
`-v`
  To enable verbose messages on the console, pass `-v` to reboot(8) or halt(8).
`-x`
  To enable debugging messages on the console, pass `-x` to reboot(8) or halt(8).
`-z`
  To silence some shutdown messages on the console, pass `-z` to reboot(8) or halt(8).
`-D`
  Prevents `shutdown` from detaching from the tty with fork(2) / exit(3).
time
  The time at which `shutdown` will bring the system down and may be the word `now` or a future time in one of two formats: `+`number, or [[[[[cc]yy]mm]dd]hh]mm, where the century, year, month, day, and hour are two digit decimal values, which may be defaulted to the current system values. The two digit (decimal, even with a leading zero) minute field is required in this form. The first form brings the system down number minutes from the current time; the second brings the system down at the absolute time specified. If the century is not specified, but the year is, the century defaults to 2000 (cc = 20, the 21st century) for years between 20 and 99, or 2100 for years between 0 and 19. A leading zero in the yy value (as with all the others) is not optional.
message ...
  Any other arguments comprise the warning message that is broadcast to users currently logged into the system.
`-`
  If `-` is supplied as the only argument after the time, the warning message is read from the standard input. The message continues until EOF is reached on standard input, or until more than a reasonably sized message has been read, and `shutdown` simply decides “Enough!”

# BEHAVIOR

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 5 minutes, logins are disabled by creating /etc/nologin and copying the warning message there. If this file exists when a user attempts to log in, login(1) prints its contents and exits. The file is removed just before `shutdown` exits.

At shutdown time, a message is written in the system log containing the time of shutdown, who initiated the shutdown, and the reason. Next a message is printed announcing the start of the system shutdown hooks. Then the shutdown hooks in /etc/rc.shutdown are run, and a message is printed indicating that they have completed. After a short delay, `shutdown` runs halt(8) or reboot(8), or sends a terminate signal to init(8) to bring the system down to single-user mode, depending on the choice of options.

The time of the shutdown and the warning message are placed in /etc/nologin and should be used to tell the users why the system is going down, when it will be back up, and to share any other pertinent information.

# FILES

/etc/nologin
  Tells login(1) not to let anyone log in
/fastboot
  Tells rc(8) not to run fsck(8) when rebooting
/etc/rc.shutdown
  System shutdown commands

# SEE ALSO

login(1), wall(1), fastboot(8), halt(8), init(8), poweroff(8), reboot(8), rescue(8)

# BACKWARD COMPATIBILITY

The hours and minutes in the second time format may be separated by a colon (‘`:`’) for backward compatibility.

# HISTORY

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

February 14, 2023 | NetBSD 11.99