mac终端可通过shutdown、pmset、launchd、reboot/halt及强制终止命令实现关机重启:shutdown支持即时/延时操作;pmset配置重复定时任务;launchd创建持久化作业;reboot/halt用于快速控制;killall可中断异常流程。

如果您希望在Mac上通过终端执行关机或重启操作,可直接调用系统内置命令实现即时、延时或定时控制。以下是多种互不依赖的命令行方法:
一、使用shutdown命令执行即时或延时关机/重启
该命令由系统init进程接管,终端关闭后仍有效,支持相对时间(如+30)与绝对时间(如22:30)两种模式,适用于临时性单次操作。
1、打开“终端”应用(位于“应用程序→实用工具”中)。
2、输入以下命令立即关机:sudo shutdown -h now。
3、输入以下命令立即重启:sudo shutdown -r now。
4、若需30分钟后关机,输入:sudo shutdown -h +30。
5、若需今晚22:30重启,输入:sudo shutdown -r 22:30。
6、输入管理员密码(输入时无任何字符显示,属正常安全机制),按回车确认。
7、如计划未执行前需取消,立即输入:sudo shutdown -c。
二、使用pmset命令设置重复性定时关机或重启
该方法调用macOS底层电源管理守护进程,任务无需用户登录即可执行,支持精确到秒的周期调度,且开机、关机、重启动作可独立配置。
1、打开“终端”应用。
2、查看当前已启用的定时任务:pmset -g sched。
3、清除所有现存重复任务(避免冲突):sudo pmset repeat cancel。
4、设置每日22:00关机:sudo pmset repeat shutdown MTWRFSU 22:00:00。
5、设置每周一至周五凌晨3:00重启:sudo pmset repeat restart MTWRF 3:00:00。
6、再次运行pmset -g sched确认输出中包含对应条目及时间戳。
三、通过launchd创建持久化后台关机/重启作业
该方法基于macOS原生服务管理框架,以plist文件定义任务,具备高可靠性、独立于用户会话、支持日志记录等特性,适合长期部署。
1、打开“终端”应用。
2、创建关机脚本:nano ~/shutdown_at_23.sh。
3、在nano中输入:#!/bin/bash\nosascript -e 'tell app "System Events" to shut down',按Control+O保存,Control+X退出。
4、赋予执行权限:chmod +x ~/shutdown_at_23.sh。
5、创建服务配置文件:nano ~/Library/LaunchAgents/com.user.shutdown.plist。
6、在plist中写入标准配置,包含Label、ProgramArguments、StartCalendarInterval键,其中StartCalendarInterval设为{"Hour":23,"Minute":0}表示每日23:00执行。
7、加载服务:launchctl load ~/Library/LaunchAgents/com.user.shutdown.plist。
四、使用reboot与halt命令进行快速系统控制
这些命令是shutdown的快捷别名,执行路径更短,但缺乏shutdown对服务优雅终止的保障,仅建议在紧急或调试场景下使用。
1、打开“终端”应用。
2、执行立即重启:sudo reboot。
3、执行立即关机:sudo halt 或 sudo poweroff。
4、系统将跳过部分服务清理流程,直接进入内核级终止状态。
五、强制中断异常关机/重启流程
当Mac因进程卡死无法响应正常关机指令时,可通过终端发送硬终止信号中断挂起的关机或重启流程,恢复系统控制权。
1、若关机界面长时间停滞(如显示“正在关机…”超过2分钟),保持终端开启。
2、输入:sudo killall loginwindow,强制结束图形会话管理器。
3、若系统仍无响应,输入:sudo kill -9 $(ps aux | grep 'shutdown' | grep -v grep | awk '{print $2}'),精准终止所有shutdown进程。
4、随后可重新执行sudo shutdown -h now或其他控制命令。











