要让Mac仅在特定App运行时阻止休眠,需用Amphetamine配合其Bundle ID创建规则:先通过终端命令osascript -e 'id of app "App名称"'获取精确Bundle ID,再在Amphetamine中新建规则,设Activity Type为“Application is running”,填入Bundle ID并勾选“Prevent computer from sleeping”。

你想让Mac只在某个特定软件(比如Transmission下载器、Final Cut Pro剪辑或Chrome浏览器)运行时才阻止休眠,其他时间保持正常节能策略——这需要Amphetamine精准识别该App的进程状态,而非全局锁死系统。
确认目标App的精确名称或Bundle ID
第一步:打开“终端”,输入命令获取App唯一标识:osascript -e 'id of app "Transmission"。把“Transmission”替换成你要监控的App名,注意大小写和空格(如“Google Chrome”不能简写为“Chrome”)。
第二步:回车后会返回类似org.m0k.transmission的字符串,这就是它的Bundle ID。这个ID比窗口标题更可靠,尤其当App有多个进程或中文名易混淆时,【必须用Bundle ID,否则规则可能失效】。
第三步:如果命令报错“No application found”,说明App未安装或名称拼写错误;可改用ls /Applications | grep -i transmission先确认App是否在/Applications目录下。
创建“仅此App运行时防休眠”规则
方法一:菜单栏快速创建(推荐新手)
点击屏幕右上角Amphetamine图标 → 按住Control键点按图标 → 选择“Create New Rule”。
方法二:手动配置关键参数
在规则编辑窗口中:
• Activity Type选“Application is running”;
• Application字段粘贴上一步查到的Bundle ID(如org.m0k.transmission);
• 勾选“Prevent computer from sleeping”,取消勾选“Prevent display from sleeping”(除非你真需要屏幕常亮);
• 点击“Save”,规则立即激活。
此时只要Transmission进程存在,系统就保持唤醒;它一退出,Amphetamine自动停用该规则,无需手动关闭。
验证规则是否生效
启动目标App(例如双击Transmission),等待10秒让它完全加载。
打开终端,运行pmset -g assertions,查找PreventUserIdleSystemSleep这一行。
若State显示为asserted,且Kernel字段中出现与该App匹配的PID(如pid 12345),说明规则已接管;若仍显示disabled,请检查Bundle ID是否复制完整、App是否确实在前台或后台持续运行。

















