mac定时关机需配合缓存清理,系统设置法最直观但须接电源;终端命令适合临时场景;快捷指令可弹窗确认;pmset+launchd方案最稳定,适合长期自动运行。

你希望Mac在固定时间自动关机,同时顺带清空系统缓存释放空间,避免手动操作遗漏或忘记执行——这需要两个独立动作协同:关机调度本身不触发清理,必须额外安排缓存清除任务,并确保它在关机前完成。
通过系统设置安排每日定时关机
这是最直观的图形化方法,适合不接触终端的用户,但【必须连接电源适配器才能可靠触发关机】,电池供电时部分机型会转为睡眠而非真正断电。
点击屏幕左上角苹果菜单 → 选择“系统设置”。
左侧边栏中,MacBook选“电池”,iMac等台式机选“节能器”。
向右滚动到底部,点击右下角的“调度”按钮。
勾选“设定以下日期的睡眠或关机”,右侧下拉菜单选“关机”,输入时间(如23:00),再选“每天”。
点击“好”保存;若Mac未接通电源,该计划可能静默失效,不会弹出任何提醒。
用终端命令设置一次性关机并同步清理缓存
适用于今晚会议结束、下载完成等临时场景,要求关机前立刻清空用户级缓存,且不依赖长期调度服务。
第一步:打开“终端”(Command + 空格,输入“终端”回车)。
第二步:执行复合命令,先清缓存再定时关机:
sudo rm -rf ~/Library/Caches/* && sudo shutdown -h 23:15
注意:这条命令用&&串联,表示前一个操作成功后才执行下一个;如果缓存目录正在被某个App占用,rm可能失败,但shutdown仍会照常注册——所以更稳妥的做法是分两行执行,确认缓存清理完成后再输关机指令。
第三步:输入管理员密码(无字符显示,属正常)。
第四步:若中途想取消,直接在终端输入sudo shutdown -c回车即可。
创建快捷指令实现“关机前自动清缓存”
这个方法能弹窗提醒、支持条件判断,且无需每次输密码,适合希望保留操作可见性的用户。
方法一:纯快捷指令流程
打开“快捷指令”应用 → 切换到“自动化”标签页 → 点击“创建个人自动化”。
选择“特定时间”作为触发条件 → 设定时间(例如23:00)→ 开启“重复” → 点击“下一步”。
点击“添加操作” → 搜索并选择“运行Shell脚本” → 在脚本框中粘贴:
rm -rf ~/Library/Caches/* 2>/dev/null
再点“添加操作” → 搜索并选择“关机” → 点击“下一步” → 保持“运行前询问”开启,这样每次执行前都会弹窗确认,防止误触。
方法二:AppleScript增强版(可跳过权限提示)
同样在“添加操作”里,搜索“运行AppleScript”,粘贴以下内容:
do shell script "rm -rf ~/Library/Caches/*" with administrator privileges
这一步需首次运行时输一次密码,之后该快捷指令将记住授权,不再反复弹窗。
用pmset配置每日关机+launchd后台清理缓存
这是面向长期稳定运行的方案,关机由系统守护进程执行,缓存清理也脱离用户会话独立运行,适合IT管理或高可靠性需求场景。
第一步:创建清理缓存的plist文件
在访达中前往~/Library/LaunchAgents/目录,新建文本文件,命名为com.user.clearcaches.plist。
第二步:用文本编辑器打开该文件,填入以下内容(注意把
第三步:加载任务
在终端中执行:
launchctl load ~/Library/LaunchAgents/com.user.clearcaches.plist
第四步:设置每日23:00关机
sudo pmset repeat shutdown MTWRFSU 23:00:00
第五步:验证两者是否就位
pmset -g sched → 应看到23:00:00 shutdown条目
launchctl list | grep clearcaches → 应返回对应进程ID











