shutdown 命令是一个用于安全关闭或重启计算机的强大工具,它比直接按电源按钮更安全,因为它会通知所有登录的用户,并给正在运行的应用程序时间来保存数据并正常退出。

基本语法
shutdown [-h | -r] [-n] [-f] [-q] [-k] [time] [warning-message ...]
常用选项和示例
下面是最常用的一些选项和它们的实际应用场景。
立即关机
这是最常见的用法,等同于点击屏幕上的“关机”按钮。
命令:
sudo shutdown -h now
选项解释:

sudo: 以管理员身份执行,关机是系统级操作,需要最高权限。shutdown: 命令本身。-h:halt的缩写,表示关机,当系统完全停止后,电源通常会自动切断。now: 表示立即执行。
其他等效的立即关机命令:
sudo shutdown -h +0(0分钟后关机,等同于 now)sudo shutdown -h 00:00(在午夜12点关机)
立即重启
如果你想让电脑重启而不是关机,可以使用 -r 选项。
命令:
sudo shutdown -r now
选项解释:

sudo shutdown: 同上。-r:reboot的缩写,表示重启。now: 表示立即执行。
延迟关机或重启
shutdown 命令的一大优势是可以在指定的时间后执行操作,非常适合在完成下载或任务后自动关机。
示例 1:30分钟后关机
sudo shutdown -h +30
执行后,系统会显示一条消息,告知所有用户电脑将在30分钟后关机。
示例 2:1小时后重启
sudo shutdown -r +60
示例 3:在特定时间关机 假设现在是晚上10点,你想让电脑在凌晨2点自动关机。
sudo shutdown -h 02:00
系统会自动计算到02:00还需要多长时间。
发送警告消息
当使用延迟关机/重启时,你可以向所有登录用户发送一条自定义的警告消息,提醒他们保存工作。
命令:
sudo shutdown -h +10 "服务器将在10分钟后进行维护,请及时保存并退出工作。"
这条消息会在倒计时开始时显示在所有用户的终端和通知中心。
取消已计划的关机/重启
如果你设置了延迟关机/重启,但之后又不想执行了,可以使用 shutdown -c 来取消。
命令:
sudo shutdown -c
执行后,系统会通知所有用户已计划的关机/重启已被取消。
强制关机(不推荐)
在某些紧急情况下,系统可能无法正常关机,这时可以使用 -n 选项来强制执行,它会跳过 init 进程,直接杀死所有进程并关机。
命令:
sudo shutdown -h -n now
⚠️ 警告:这是一个“粗暴”的操作,可能会导致未保存的数据丢失或文件系统损坏。请仅在系统无响应的最后手段下使用。
强制关闭所有程序(常用)
-f 选项非常有用,它会在关机或重启前,强制关闭那些没有响应的程序,而不是等待用户手动关闭,这可以避免因某个卡死的程序而导致关机失败。
命令:
sudo shutdown -r -f now
这个命令会立即重启,并尝试强制关闭所有无响应的应用。
shutdown vs. halt vs. poweroff vs. reboot
在 macOS (以及其类 Unix 系统 BSD) 中,这些命令的功能非常相似,有时甚至是等价的。
| 命令 | 主要功能 | 备注 |
|---|---|---|
shutdown -h now |
安全地关机 | 最推荐,会通知用户,让程序优雅退出。 |
sudo halt |
停止系统 | 在 macOS 上,halt 通常等同于 shutdown -h now,它会停止所有进程,但可能不会自动切断电源。 |
sudo poweroff |
关闭电源 | 在 macOS 上,poweroff 通常也等同于 shutdown -h now,名称更直观地表达了“切断电源”的意图。 |
sudo reboot |
重启系统 | 等同于 shutdown -r now。 |
对于日常使用,sudo shutdown -h now 和 sudo shutdown -r now 是最标准、最安全的命令。halt 和 reboot 也可以使用,但 shutdown 提供了更多的灵活性(如延迟和警告消息)。
如何使用?
- 打开“终端” (Terminal) 应用,你可以在“应用程序” -> “实用工具”文件夹里找到它,或者使用 Spotlight 搜索 (按
Cmd + 空格键) 输入Terminal并回车。 - 输入命令,
sudo shutdown -h +30。 - 输入你的用户密码并按回车,注意,输入密码时屏幕上不会显示任何字符(*),这是正常的安全特性。
- 如果设置了警告消息,你会看到倒计时和提示,如果只是
now,电脑会立即开始关机或重启流程。
