macbook air在电池供电下无法通过系统设置调度关机,必须用终端命令:一、sudo shutdown -h 22:00设单次关机;二、sudo pmset -b repeat shutdown mtwrfsu 23:00:00设每日电池关机(-b关键);三、快捷指令+applescript实现带提醒的静默或确认关机。

MacBook Air在电池供电状态下无法通过系统设置中的“调度”功能触发真正的定时关机,因为该功能在未连接电源适配器时会静默失效,转为睡眠而非断电——你希望它在没插电时也能按时关机,必须绕过图形界面限制,改用终端命令直接干预系统电源管理。
用shutdown命令设置单次电池下定时关机
这一步操作起来很简单,直接在终端输入指令即可生效,适用于临时场景,比如今晚10点开会前自动关机。
打开“终端”(Command + 空格,输入“终端”回车)→ 输入:sudo shutdown -h 22:00 → 回车 → 输入管理员密码(无字符显示,正常输入后按回车)。
该命令注册后由系统init进程接管,终端关闭不影响执行;若中途反悔,立刻在终端输入sudo shutdown -c取消。
用pmset命令设置每日电池下定时关机
macOS的pmset支持在电池模式下执行重复关机任务,但需手动清除默认仅限电源的策略限制,否则系统会忽略电池状态下的shutdown调度。
第一步:打开终端 → 输入sudo pmset repeat cancel → 回车 → 输入密码,清空所有已有重复任务。
第二步:输入sudo pmset -b repeat shutdown MTWRFSU 23:00:00 → 回车 → 输密码。【-b参数是关键,代表battery模式生效,缺了它就只在插电时运行】
第三步:验证是否写入成功 → 输入pmset -g sched → 查看输出中是否有含“shutdown”和“23:00:00”的行,且旁边标注“battery”。若没有,说明-b未生效或时间格式错(必须为24小时制+秒)。
用快捷指令实现带弹窗确认的电池关机
如果你怕误操作,或者想在关机前看到提醒,这个方法不需要输密码,但依赖你当时已登录且Mac未休眠——它不会唤醒设备,所以务必确保23:00前Mac处于亮屏或浅睡眠状态。
方法一:打开“快捷指令”应用 → 切换到“自动化”标签页 → 点击“创建个人自动化” → 选择“特定时间” → 设定时间(如23:00)→ 开启“重复” → 点击“下一步”。
方法二:点击“添加操作” → 搜索并选择“运行AppleScript” → 在脚本框中粘贴:osascript -e 'tell app "System Events" to shut down' → 点击“下一步” → 关闭“运行前询问”以静默执行,或保持开启获得弹窗确认。
注意:此自动化在电池或电源下均能触发,但若Mac在设定时间处于深度睡眠(S3)或关机状态,则跳过不执行。











