Mac 可通过三种原生方式实现下载完成后自动关机:一是使用迅雷内置的“下载完成后关机”功能(需 4.1.2 及以上版本);二是借助 Terminal 脚本配合 Transmission 等下载工具的完成脚本功能;三是通过快捷指令监听下载文件夹,并结合临时文件校验后执行关机。

如果你想让 Mac 在迅雷、Transmission 或其他下载软件完成全部任务后自动关机,避免电脑整夜空转、持续耗电、机身发热,或影响系统后续维护,其实无需安装第三方软件。macOS 本身就支持相关方案,而且触发逻辑也能做到相对精准。
用迅雷内置功能实现下载完成自动关机
这是最简单直接的设置方法,仅适用于 Mac 版迅雷(4.1.2 及以上版本),不需要使用命令行,也无需额外配置授权。
打开迅雷客户端 → 点击顶部菜单栏中的“迅雷” → 选择“偏好设置”。
进入“下载”标签页后,在底部找到“下载完成后”选项 → 点击右侧下拉菜单,选择“关机”。
【注意:该功能只有在全部下载任务状态都变为“已完成”时才会触发;如果仍有暂停、失败或正在校验中的任务,自动关机将不会执行】
用终端命令配合下载工具实现通用自动关机
这种方式适用于 Transmission、qBittorrent、aria2 等没有内置自动关机功能的下载工具,需要手动绑定“下载完成”事件。
第一步:先确认你的下载工具支持“执行脚本”或“完成通知”功能。以 Transmission 为例,用户需要开启“执行脚本”,路径为:偏好设置 → 比特洪流 → “当torrent完成时执行脚本”。
第二步:新建一个 shell 脚本文件,例如~/shutdown_on_complete.sh,内容为:
#!/bin/bash
sudo shutdown -h now
第三步:赋予脚本执行权限:在终端中输入 chmod +x ~/shutdown_on_complete.sh。
第四步:将该脚本路径填写到下载工具的“完成执行脚本”字段中。Transmission 通常会自动传入 torrent ID 等参数,但对于关机脚本来说,无需读取这些参数,直接执行即可。
【必须提前在“系统设置 → 隐私与安全性 → 完全磁盘访问”中为终端和下载工具授予权限,否则 sudo 命令可能会被静默拒绝,导致 Mac 无法在下载完成后自动关机】
用快捷指令+AppleScript监听下载文件夹实现无依赖自动关机
这种方法适合不想修改下载工具设置,或者主要使用浏览器直链下载的用户。核心思路是通过监控目标下载文件夹的变化,判断下载是否真正结束,再执行自动关机。
方法一:创建文件夹监听快捷指令
先打开“快捷指令”App,点击右上角“+”,将这个指令命名为“监测下载完成并关机”。接着添加操作“监视文件夹”,选择你的下载目录,比如“下载”文件夹,再将触发条件设置为“当添加文件时”。随后补充一个“等待”2 秒,这一步非常重要,主要用于避免文件尚未写入完成时被误判为下载结束。然后继续添加“运行脚本”,Shell 选择“zsh”,脚本内容如下:if ls /Users/$(whoami)/Downloads/*.part 1> /dev/null 2>&1; then exit 0; else sudo shutdown -h now; fi
方法二:添加自动化时间兜底
在同一个快捷指令末尾,继续添加“如果”操作:将条件设置为“文件夹中无 .part 或 .!ut 等临时扩展名文件” → 满足时执行关机 → 否则不执行。这样可以进一步降低误判风险,更适合部分下载场景复杂的用户。
最后,点击右上角“下一步” → 关闭“运行前询问” → 保存。该快捷指令还需要配合“个人自动化 → 文件夹已更改”触发器一同启用,才能实现 Mac 下载完成后自动关机。
