MacBook Pro可通过终端延时关机、快捷指令触发关机或pmset每日定时关机实现下载完成自动关机:①终端执行sudo shutdown -h +分钟数临时延时;②用快捷指令调用Shell脚本检查Transmission完成状态后关机;③用sudo pmset repeat shutdown设置每日固定时间关机(需接电源)。

你想让MacBook Pro在迅雷或Transmission等软件下载完大型文件后自动关机,避免整夜耗电或忘记手动关机——系统原生不提供“下载完成即关机”的图形化开关,但可通过终端命令、快捷指令或第三方工具链组合实现。
用终端命令设置一次性延时关机(推荐给临时大文件下载)
这一步操作起来很简单,直接把命令复制粘贴进终端回车就行,适合你已估算好剩余下载时间的场景。
打开“终端”(Command + 空格 → 输入“终端” → 回车)。
输入命令:sudo shutdown -h +45,表示45分钟后关机;若你预估还剩1小时10分钟,就写sudo shutdown -h +70。
回车后提示输入密码,此时键盘无任何字符显示,属正常安全机制,请准确输入当前管理员密码后按回车。
若下载中途暂停、网络恢复延迟,或你突然需要继续使用电脑,可立刻在终端中执行sudo shutdown -c取消计划,关机任务将被立即清除。
用快捷指令创建“下载完成触发”自动化(需配合下载软件支持)
此方法仅适用于支持AppleScript控制的下载工具,例如Transmission(通过transmission-remote命令)、qBittorrent(启用Web UI后可用curl调用)或迅雷Mac版(需确认是否开放脚本接口)。普通用户慎选,因多数下载软件不暴露完成事件钩子。
方法一:基于Transmission的完成回调(需提前配置)
确保Transmission已开启远程控制(偏好设置→远程→勾选“启用远程控制”),并记下端口与密码。
打开“快捷指令”App → 切换到“自动化”标签页 → 点“+” → 选择“创建个人自动化” → 触发器选“运行快捷指令”。
注意:这不是时间触发,而是你手动运行该快捷指令作为“下载完成确认信号”——也就是说,你得在Transmission弹出“任务完成”通知后,自己点一下这个快捷指令图标。
点“下一步” → “添加操作” → 搜索“运行Shell脚本” → 粘贴以下内容:
#!/bin/bash<br>if transmission-remote localhost:9091 --auth="user:pass" --list | grep -q "100%"; then<br> osascript -e 'tell app "System Events" to shut down'<br>fi
请将
user:pass替换为你实际设置的用户名和密码,端口9091也按需修改。
关闭“运行前询问”,点击“完成”保存。此后每次下载完成,你手动点一次这个快捷指令,它会检查当前是否有100%任务,有则立即关机。
用pmset设置每日固定关机兜底(防意外漏关)
即使你忘了设延时关机,或下载软件没调用成功,这个方法能确保MacBook Pro每天凌晨2点强制断电,彻底杜绝长期开机风险。
第一步:打开“终端”。
第二步:清空已有重复调度,输入:sudo pmset repeat cancel → 回车 → 输入管理员密码。
第三步:设置每天凌晨2点关机,输入:sudo pmset repeat shutdown MTWRFSU 02:00:00 → 回车 → 再输密码。
第四步:验证是否生效,输入:pmset -g sched,输出中必须出现含“shutdown”和“02:00:00”的行,否则说明命令格式错误或权限未通过。
⚠️重要提醒:【该任务仅在Mac连接电源适配器时可靠执行;电池供电状态下,部分机型会转为睡眠而非真正关机】。如果你常在移动中下载,此法不可单独依赖。


















