mac定时开关机与睡眠有五种原生方法:一、系统设置中通过“电池/节能器→定时”图形化配置;二、终端用pmset命令设周期性任务;三、shutdown命令执行一次性关机;四、launchd plist实现后台可靠睡眠;五、设定不活跃时段自动睡眠。

如果您希望Mac在特定时间自动启动、关机或进入睡眠状态,系统提供了多种原生方式实现计划任务,无需依赖第三方工具。以下是具体操作方法:
一、通过系统设置安排定时开关机与睡眠
该方法利用图形界面中的“电池”(笔记本)或“节能器”(台式机)设置,适合日常固定周期的定时任务,操作直观且无需命令行知识。
1、点击屏幕左上角的苹果菜单,选择“系统设置”。
2、在设置窗口中找到并进入“电池”(MacBook)或“节能器”(iMac/Mac mini)选项。
3、点击右侧的“定时”按钮。
4、勾选“设定以下日期的启动或唤醒”,设置期望的开机时间,并选择重复周期(如每天、工作日或自定义星期几)。
5、勾选“设定以下日期的睡眠、重新启动或关机”,从弹出菜单中选择“睡眠”“关机”或“重新启动”,输入时间并同步选择对应重复周期。
6、确认无误后点击“好”保存。请注意:部分Mac型号需连接电源适配器才支持定时开机功能;若未登录系统或存在未保存文稿,定时关机/睡眠可能被系统自动跳过。
二、使用pmset命令设置周期性定时任务
该方法调用macOS底层电源管理工具pmset,可独立设定开机、关机、睡眠与唤醒时间,支持精确到秒的每日/每周循环调度,且任务由系统守护进程执行,不依赖用户登录状态。
1、打开“应用程序” → “实用工具” → “终端”,或使用聚焦搜索输入“终端”快速启动。
2、输入以下命令以设置每日上午8点开机、晚上10点关机并每日凌晨1点睡眠:
sudo pmset repeat wakeorpoweron MTWRFSU 08:00:00 sleep MTWRFSU 01:00:00 shutdown MTWRFSU 22:00:00
3、按回车后输入管理员密码(输入时无字符显示,属正常安全机制)。
4、如仅需设置每日23:30睡眠,可单独执行:
sudo pmset repeat sleep MTWRFSU 23:30:00
5、验证当前调度:输入pmset -g sched查看输出结果。
6、若需清除全部现有重复任务,运行:
sudo pmset repeat cancel
7、注意:pmset设置的sleep指令在macOS Ventura及更新版本中对M系列芯片Mac可能不触发完整睡眠,建议配合wakeorpoweron使用以确保可靠性。
三、使用shutdown命令执行一次性关机
该方法适用于临时性、单次触发的关机需求,通过shell调度器at或直接结合cron实现,任务在指定时刻强制终止所有用户会话并关闭系统。
1、打开“终端”应用。
2、输入命令设定2小时后关机:
echo "shutdown -h now" | at now + 2 hours
3、若提示“at: command not found”,需先启用at服务:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
4、确认任务已加入队列:
atq
5、取消待执行的一次性关机任务:
atrm [作业编号]
6、注意:shutdown命令必须以root权限运行,且无法用于M系列Mac的定时唤醒场景。
四、通过launchd配置plist实现后台可靠睡眠
该方法通过创建自定义launchd守护进程,在指定时间触发shell脚本执行pmset sleepnow或osascript -e 'tell app "System Events" to sleep',适用于需要精细控制触发条件(如仅在电池供电时生效)的高级用户。
1、在~/Library/LaunchAgents/目录下新建文件com.user.autosleep.plist。
2、用文本编辑器写入以下内容(示例:每日22:15执行睡眠):
3、保存文件后,在终端中加载该任务:
launchctl load ~/Library/LaunchAgents/com.user.autosleep.plist
4、验证是否加载成功:
launchctl list | grep autosleep
5、如需卸载:
launchctl unload ~/Library/LaunchAgents/com.user.autosleep.plist
6、注意:plist文件必须保存为UTF-8编码,且StartCalendarInterval中Hour/Minute值不可使用通配符或数组,仅支持单值整数。
五、设定不活跃时段自动睡眠
该方法不依赖具体时间点,而是根据系统空闲状态动态响应,适用于希望节能但不预设固定作息的用户,由系统内建的电源管理策略实时判断。
1、进入“系统设置” → “电池”或“节能器” → “选项”。
2、拖移“此时间段后关闭显示器”滑块设定显示器休眠时间。
3、拖移“此时间段后让电脑进入睡眠”滑块设定整机睡眠延迟。
4、如使用电池供电,可开启“电池供电时启用电能小憩”以延长续航。
5、如接电源适配器,可勾选“当显示器关闭时,防止电脑自动进入睡眠”以保持后台任务运行。
6、注意:“电能小憩”功能在macOS Sonoma及更新版本中默认启用,但仅对支持该特性的M系列芯片Mac生效;若启用了“唤醒以供网络访问”,系统可能在预期睡眠时间短暂唤醒,导致实际睡眠延迟。











