优酷mac版可直接启用“全部任务完成后关机”;其他应用需用快捷指令轮询检测进程退出或用launchd配置守护进程实现自动关机。

你想让Mac在某个特定应用(比如Final Cut Pro导出完成、PyCharm跑完脚本、或优酷下载任务结束)退出的瞬间自动关机,不等人工操作,也不依赖定时器——这需要精准捕获进程终止事件并触发系统级关机指令。
用优酷Mac客户端内置功能直接启用
如果你的目标APP是优酷Mac版,且只用于下载/缓存任务,这是唯一无需命令行、零配置的路径。
打开优酷Mac客户端 → 点击右上角齿轮图标进入“设置” → 切换到“基本设置”标签页 → 勾选【全部任务完成后关机】。
该选项仅对优酷自身任务队列生效;一旦下载列表清空,进程尚未退出,系统就已触发关机流程。其他APP完全无法响应此开关。
用快捷指令+AppleScript轮询检测进程退出
适用于Chrome、Sketch、DaVinci Resolve、PyCharm等任意图形界面APP,原理是每5秒检查一次进程是否存在,消失即执行关机。
方法一:创建“APP退出后关机”快捷指令
打开“快捷指令”App → 点击右上角“+”新建快捷指令 → 命名为“PyCharm退出后关机”(名称须与目标APP一致)。
添加操作:搜索并添加“运行Shell脚本”,在脚本框中粘贴以下内容:
while pgrep -x "PyCharm" > /dev/null; do sleep 5; done; osascript -e 'tell app "System Events" to shut down'
点击右上角“下一步”→ 输入描述(如“监控PyCharm并关机”)→ 点击“完成”保存。
【脚本中"PyCharm"必须与Activity Monitor里显示的精确进程名完全一致——区分大小写、空格、版本后缀(如"PyCharm 2026.2"需完整填写)】
长按该快捷指令 → 选择“添加到主屏幕”,生成桌面图标;每次需使用时点击一次即可后台运行监控。
用launchd配置守护进程(长期稳定方案)
适合渲染工作站、服务器类Mac或需7×24小时监听的场景,即使重启、用户登出仍自动加载,不依赖图形界面。
第一步:编写plist配置文件
打开终端,执行:
mkdir -p ~/Library/LaunchAgents && nano ~/Library/LaunchAgents/com.user.pycharmwatcher.plist
第二步:粘贴以下内容(将com.jetbrains.pycharm替换为你目标APP的真实Bundle ID;可在终端执行osascript -e 'id of app "PyCharm"'获取):
\n\n
第三步:加载并启用守护进程
在nano中按Control+O → 回车 → Control+X退出编辑;然后执行:
launchctl load ~/Library/LaunchAgents/com.user.pycharmwatcher.plist
第四步:授权sudo免密(关键一步)
执行:
sudo visudo
在打开的文件末尾新增一行:
%admin ALL=(ALL) NOPASSWD: /sbin/shutdown
按Escape → :wq → 回车保存退出。此后守护进程调用shutdown时不再弹窗索要密码。











