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.
Syntax shutdown [-] [-h [-u] | -r | -s | -k] [-o [-n]] time [warning-message ...] Key -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. 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.
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.
wall - write a message to users.
reboot - Stop and restart the system.
uptime - Show how long system has been running.