You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

语音控制调用AppleScript重启Mac触发无限重启循环如何解决

无限重启根因

原始脚本触发无限重启循环的核心原因有两点:

  • 系统收到重启指令后不会立刻终止Voice Control进程,重启流程执行的数秒内,Voice Control仍保持麦克风监听状态,很容易把重启过程的系统音效、环境杂音误识别成预设触发词,重复调用绑定脚本
  • 原始脚本没有做单次执行限制,每次被误触发都会重新发送重启指令,打断正在进行的重启流程,最终形成死循环
稳定可用的替代AppleScript方案

方案通过临时锁文件阻断重复触发逻辑,不会修改Voice Control的常驻设置,锁文件存放在系统临时目录,重启后会被自动清理,不影响后续功能使用:

-- 定义锁文件存放路径,使用系统临时目录,重启自动清空
set lockFilePath to "/tmp/voice_control_restart.lock"

tell application "System Events"
    -- 检测到锁文件说明重启流程已触发,直接退出脚本避免重复执行
    if exists file lockFilePath then
        return
    end if
    -- 第一时间创建锁文件,标记重启流程已启动
    make new file at folder "/tmp" with properties {name:"voice_control_restart.lock"}
end tell

-- 短延迟确保锁文件写入磁盘完成
delay 0.5

-- 执行重启:加without saving参数会自动跳过未保存文档的确认弹窗,不需要可直接删除该参数
tell application "System Events"
    restart without saving
end tell
使用注意事项
  • 触发词尽量设置为3个音节以上、日常对话极少出现的表述,进一步降低非主动触发的概率
  • 如果需要保留未保存文档的确认步骤,删掉脚本中restart后的without saving即可,系统会正常弹出提示,待你确认后再完成重启

内容的提问来源于stack exchange,提问作者zebonaut smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 10:27:07