Mac每日仅关机一次需三重保障:系统设置定时关机自动去重覆盖旧计划;终端用pmset repeat配合cancel确保唯一任务;快捷指令须禁用询问并加锁文件防重入。

你想让Mac每天只在固定时间关机一次,避免因重复触发导致意外断电、文档丢失或任务中断——这需要确保系统不会因电源状态变化、用户登录登出或快捷指令重复执行而多次调用关机指令。
用系统设置确保每日仅关机一次
这是最稳妥的方法,系统底层会自动去重,同一周期内相同动作(如“每天关机”)只注册一个实例,不会叠加。
点击屏幕左上角苹果图标 → 选择“系统设置”。
左侧边栏中,MacBook用户点“电池”,iMac/Mac mini用户点“节能器”。
滚动到底部,点击右下角的“定时…”按钮(注意是带省略号的“定时…”,不是“调度”或“安排”)。
勾选“设定以下日期的睡眠、重新启动或关机”,右侧下拉菜单【必须选“关机”】,时间输入23:00,重复周期选“每天”。
点击“好”保存——此时若该计划已存在,系统会直接覆盖旧设置,不会新增第二条;若你曾设过“工作日关机”,再设“每天”,旧计划将被自动清除。
用终端命令防止重复注册
pmset命令本身不允许多次注册相同类型的任务:第二次执行sudo pmset repeat shutdown MTWRFSU 23:00:00时,系统会静默覆盖前一条,不会叠加。
打开“终端”(Command + 空格,输入“终端”回车)。
先清空可能残留的旧任务:【sudo pmset repeat cancel】 → 回车 → 输入管理员密码(无显示,正常输入)。
再执行唯一关机指令:【sudo pmset repeat shutdown MTWRFSU 23:00:00】 → 回车 → 输密码。
验证是否仅有一条生效:输入pmset -g sched,输出中应只出现一行含“shutdown”的条目,时间精确到秒;若看到两条,说明之前未执行cancel,需重做。
用快捷指令规避多触发风险
快捷指令自动化容易因网络波动、系统唤醒延迟或用户误点而重复触发,必须手动加锁机制。
方法一:禁用重复执行
打开“快捷指令”App → “自动化”标签页 → “创建个人自动化” → 选“特定时间” → 设为每天23:00 → 开启“重复” → 点“下一步” → 添加操作“关机” → 点“下一步” → 【务必关闭“运行前询问”】,否则弹窗可能被多次响应。
方法二:添加执行标记(防重入)
新建快捷指令 → 添加操作“运行脚本” → Shell类型 → 脚本框粘贴:
if [ ! -f /tmp/mac_shutdown_lock ]; then touch /tmp/mac_shutdown_lock; sudo shutdown -h now; fi
再创建另一个自动化,每天00:01执行,脚本为rm -f /tmp/mac_shutdown_lock,确保次日可再次触发。

















