Close down the system at a given time.
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.

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

   -h      The system is halted 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).

   -n      If the -o is specified, prevent the file system cache from being flushed by pass-
           ing -n option to halt(8) or reboot(8).  This option should probably not be used.

   -o      If -h or -r is specified, shutdown will execute halt(8) or reboot(8) instead of
           sending a signal to launchd(8).

   -r      The system is rebooted at the specified time.

   -s      The system is put to sleep at the specified time.

   -u      The system is halted up until the point of removing system power, but waits
           before removing power for 5 minutes so that an external UPS (uninterruptible
           power supply) can forcibly remove power.  This simulates a dirty shutdown to per-
           mit a later automatic power on. macOS uses this mode automatically with supported
           UPSs in emergency shutdowns.

    time   Time is the time at which shutdown will bring the system down and
           may be the word now (indicating an immediate shutdown) or specify 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.

           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.

At shutdown time a message is written in the system log, containing the time of shutdown, who initiated the shutdown and the reason. A terminate signal is then sent to launchd to bring the system down to single-user state (depending on above options).

A scheduled shutdown can be canceled by killing the shutdown process (a SIGTERM should suffice).

/etc/nologin tells login not to let anyone log in
/fastboot tells rc(8) not to run fsck when rebooting
/usr/libexec/upsshutdown - Run a command when the UPS shuts down.


Reboot the machine immediately:
$ sudo shutdown -r now

Send the machine to sleep in 30 minutes:
$ sudo shutdown -s +30

Shutdown the machine in 60 minutes:
$ sudo shutdown -h +60

Cancel any of the above:
$ sudo killall shutdown

“Do all men kill the things they do not love?” ~ The Merchant of Venice

Related macOS commands

kill - Stop a process from running.
login - log into the computer.
osascript - shutdown/restart via AppleScript.
pmset - sleep now.
sudo poweroff
wall - write a message to users.
reboot - Stop and restart the system.
uptime - Show how long system has been running.

Copyright © 1999-2024
Some rights reserved