优酷Mac客户端可直接在设置中勾选“全部任务完成后关机”;其他APP可通过快捷指令+AppleScript轮询检测进程退出后关机;长期稳定需求推荐用launchd配置守护进程,配合plist文件监听APP并执行sudo shutdown -h now。

Mac怎么设置特定APP关闭后关机:比如优酷Mac客户端下载任务完成、Final Cut Pro导出结束、或某个Python脚本跑完,系统自动执行关机,不依赖人工值守。
用优酷Mac客户端内置功能直接启用
如果你正在使用优酷Mac客户端且目标是下载任务完成后关机,这是最简路径——无需命令行或自动化工具。
打开优酷Mac客户端 → 点击右上角齿轮图标进入“设置” → 切换到“基本设置”标签页 → 勾选【全部任务完成后关机】。
该选项仅对优酷自身的下载/缓存任务生效;其他APP不识别此开关,勾选后无需额外操作,任务列表清空即触发关机流程。
用快捷指令+AppleScript监听APP退出状态
适用于任意图形界面APP(如Chrome、Sketch、DaVinci Resolve),原理是轮询检测进程是否存在,进程消失后立即执行关机指令。
方法一:创建“APP退出后关机”快捷指令
1. 打开“快捷指令”App → 点击右上角“+”新建快捷指令 → 命名为“Chrome退出后关机”(可按实际APP改名)。
2. 添加操作:搜索并添加“运行Shell脚本”,在脚本框中粘贴以下内容:
while pgrep -x "Google Chrome" > /dev/null; do sleep 5; done; osascript -e 'tell app "System Events" to shut down'
3. 点击右上角“下一步”→ 输入描述(如“监控Chrome并关机”)→ 点击“完成”保存。
4. 长按该快捷指令 → 选择“添加到主屏幕”,生成一个桌面图标;每次需使用时点击一次即可后台运行监控。
【注意】脚本中"Google Chrome"必须与Activity Monitor里显示的精确进程名一致(区分大小写、空格、版本号);若APP带版本后缀(如"Chrome Canary"),必须完整填写。
用launchd配置后台守护进程(长期可靠方案)
适合需要7×24小时稳定监听的场景,比如服务器类Mac或渲染工作站,即使重启后仍自动加载,不依赖用户登录态。
第一步:编写plist配置文件
在终端中执行:mkdir -p ~/Library/LaunchAgents && nano ~/Library/LaunchAgents/com.user.appwatcher.plist
第二步:粘贴以下内容(以监控“Preview”为例,将Preview替换为你目标APP的Bundle ID,如com.apple.Preview):
第三步:加载并启用服务
执行:chmod 644 ~/Library/LaunchAgents/com.user.appwatcher.plist && launchctl load ~/Library/LaunchAgents/com.user.appwatcher.plist
第四步:赋予终端完全磁盘访问权限
前往“系统设置” → “隐私与安全性” → “完全磁盘访问” → 点击“+”添加“终端”和“快捷指令”应用;否则pgrep无法读取进程列表,脚本将始终判定APP未退出。
启动后,该服务将持续运行,一旦检测到目标APP进程消失,立刻执行sudo shutdown -h now。无需手动触发,也不受当前用户是否登录影响。

















