苹果电脑可通过四种命令行或自动化方式实现定时关机:一、shutdown命令设一次性关机;二、pmset设每日重复关机;三、launchd配置plist实现后台可靠关机;四、快捷指令+AppleScript可视化定时关机。

如果您希望苹果电脑在指定时间自动执行关机操作,但系统未提供图形化一键开关,则可通过终端命令行直接调度系统关机服务。以下是解决此问题的步骤:
一、使用 shutdown 命令设置一次性定时关机
该方法通过 macOS 原生 shutdown 工具注册单次关机任务,由系统 init 进程接管执行,终端关闭后仍有效,适用于临时性精确时刻或相对延时关机场景。
1、打开“应用程序” → “实用工具” → “终端”,或使用聚焦搜索(Command + 空格)输入“终端”并回车启动。
2、输入以下命令表示今晚 23:30 关机:sudo shutdown -h 23:30。
3、输入以下命令表示 45 分钟后关机:sudo shutdown -h +45。
4、按下回车后,系统提示输入管理员密码;输入时无字符显示,属正常安全机制,请准确输入后按回车。
5、若需取消已设定的计划,在终端中立即执行:sudo shutdown -c。
二、使用 pmset 命令设置每日重复定时关机
该方法调用 macOS 底层电源管理工具 pmset,所设任务由系统守护进程 launchd 托管,不依赖用户是否登录,支持精确到秒的周期调度,适用于长期稳定运行的固定时间关机需求。
1、打开“终端”应用。
2、输入命令查看当前所有已启用的调度任务:pmset -g sched。
3、如需清除全部现有重复任务,输入:sudo pmset repeat cancel,随后输入管理员密码。
4、设置每天 22:00:00 关机,输入:sudo pmset repeat shutdown MTWRFSU 22:00:00。
5、若仅需工作日(周一至周五)执行,将 MTWRFSU 替换为 MTWRF;时间格式必须为 24 小时制且含秒。
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
6、再次运行 pmset -g sched,确认输出中包含 shutdown 条目及对应时间戳。
三、通过 launchd 配置 plist 实现后台可靠定时关机
该方法利用 macOS 的 launchd 框架创建用户级后台作业,可完全脱离图形界面与终端会话独立运行,适合对执行稳定性与权限控制有更高要求的场景,需预先配置 sudo 免密权限。
1、在访达中前往 ~/Library/LaunchAgents/ 目录,新建文本文件,命名为 com.user.autoshutdown.plist。
2、用文本编辑器打开该文件,粘贴以下内容(以每日 23:15 关机为例):<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Label</key><string>com.user.autoshutdown</string><key>ProgramArguments</key><array><string>sudo</string><string>shutdown</string><string>-h</string><string>now</string></array><key>StartCalendarInterval</key><dict><key>Hour</key><integer>23</integer><key>Minute</key><integer>15</integer></dict><key>RunAtLoad</key><false/></dict></plist>。
3、保存文件后,在终端中执行:launchctl load ~/Library/LaunchAgents/com.user.autoshutdown.plist。
4、为使 shutdown 命令免密执行,需编辑 sudoers 文件:在终端中运行 sudo visudo,在文件末尾添加一行:YOURUSERNAME ALL=(ALL) NOPASSWD: /sbin/shutdown(请将 YOURUSERNAME 替换为您的实际用户名)。
四、使用快捷指令结合 AppleScript 创建时间触发自动化
该方法依托 macOS 原生“快捷指令”应用构建可视化自动化流程,无需终端操作,支持静默执行与条件扩展,适合希望规避命令行但需定时关机功能的用户。
1、打开“快捷指令”App,切换到“自动化”标签页。
2、点击右上角“+”号,选择“创建个人自动化”,触发器选择“特定时间”。
3、设定具体时间(例如 23:00),开启“重复”选项,点击“下一步”。
4、点击“添加操作”,搜索并选择“运行 AppleScript”。
5、在脚本框中输入:osascript -e 'tell app "System Events" to shut down'。
6、关闭顶部“运行前询问”开关;首次启用时,需前往“系统设置 → 隐私与安全性 → 自动化”中授权“快捷指令”控制本机。


















