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

NAME
     shutdown – close down the system at a given time

SYNOPSIS
     shutdown [-] [-h | -p | -r | -s | -k] [-o [-n]] time
              [warning-message ...]

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.

     The following options are available:

     -h      The system is halted and powered off at the specified time.

     -p      This flag is the equivalent of -h.

     -r      The system is rebooted at the specified time.

     -s      The system is put to sleep 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 -h or -r options are specified, shutdown will
             execute halt(8) or reboot(8) instead of sending a signal to
             launchd(8).

     -n      If the -o option is specified, prevent the file system cache from
             being flushed by passing -n to halt(8) or reboot(8).  The use of
             this option is discouraged as it can result in data loss.

     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
             yymmddhhmm, where the year, month, and day may be defaulted to
             the current system values.  The first form brings the system down
             in number minutes and the second at the absolute time specified.
             +number may be specified in units other than minutes by appending
             the corresponding suffix: “s”, “sec”, “m”, “min”, “h”, “hour”.

             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 5 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) 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 launchd(8) 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.

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

SIGTERM TO SIGKILL INTERVAL
     Upon shutdown, all running processes are sent a SIGTERM followed by a
     SIGKILL.  The SIGKILL will follow the SIGTERM by an intentionally
     indeterminate period of time.  Programs are expected to take only enough
     time to flush all dirty data and exit.  Developers are encouraged to file
     a bug with the OS vendor, should they encounter an issue with this
     functionality.

FILES
     /var/run/nologin  tells login(1) not to let anyone log in

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"

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

SEE ALSO
     kill(1), login(1), wall(1), nologin(5), halt(8), launchd(8), reboot(8)

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

macOS 15.2                       June 6, 2023                       macOS 15.2