通过 /loop 命令可以启动一个定时重复执行的循环。基本语法为: /loop [间隔时间] [要执行的命令或提示] 例如 /loop 5m /status 表示每5分钟执行一次状态检查。 /loop 的启动流程如下: 1. 发出 /loop 命令后,系统立即执行首次任务,而非等到第一个间隔结束。 2. 首次执行完成后,系统根据指定的间隔时间安排下一次执行。 3. 每次执行之间系统处于等待状态,不会消耗额外资源。 4. 多个 /loop 可以同时运行,彼此独立,互不干扰。
/loop 会在以下几种情况下自动停止执行: 1. 任务完成:当 AI 判断目标已达成时(如部署成功、测试通过),循环会自动终止。这是最理想的停止方式,意味着任务顺利结束。 2. 用户中断:按下 Ctrl+C 或其他中断键可以立即终止当前正在执行的循环。中断后系统不会继续安排下一次执行。 3. 会话结束:当 Claude Code 会话终止时(如关闭终端、网络断开),所有正在运行的 /loop 会自动停止。这意味着 /loop 的生命周期与当前会话绑定。 4. 任务出错:如果连续执行失败超过系统设定的阈值,为了避免无限重试造成资源浪费,/loop 会自动停止并报告错误状态。
除了自动停止,用户也可以在任意时刻手动停止 /loop: 1. 发送新消息:在循环执行间隙发送新消息,AI 会优先处理新消息,从而自然中断当前的循环流程。 2. Ctrl+C 强制停止:在终端中按下 Ctrl+C 可以立即中断当前正在执行的循环。这是最直接、最快速的停止方式。 3. 明确的停止指令:直接向 AI 发送"停止循环"或"结束 /loop"等明确指令,AI 会主动终止循环并清理资源。 4. 启动新 /loop 覆盖:启动一个新的 /loop 命令,如果新循环与旧循环执行相同的任务,旧循环会被自动覆盖和停止。这种方式适合需要更新循环参数的场景。
超时机制是 /loop 生命周期管理中的重要组成部分: 1. 单次执行超时:每次 /loop 执行都有默认的超时时间限制。如果单次执行时间超过限制,系统会强制终止该次执行。 2. 长时间未响应:如果循环中的某次执行长时间没有输出或响应,系统会判定为挂起状态并自动终止,避免资源被长期占用。 3. 超时后的策略: - 默认策略:单次执行超时后,循环会继续安排下一次执行,不会因为某次超时而完全停止。 - 连续超时:如果连续多次执行均超时,系统可能会判定任务异常并完全停止循环。 4. 超时阈值建议:根据任务复杂度设置合理的超时时间。简单检查类任务建议 30-60 秒,复杂任务可适当延长。避免超时阈值过短导致正常执行被误杀。
/loop 结束后的资源清理是确保系统健康运行的关键环节: 1. 自动清理机制:/loop 正常停止时,系统会自动清理循环相关的临时资源,包括临时文件、缓存数据等。 2. 避免残留进程:如果 /loop 中包含外部命令或子进程,循环停止时应确保这些子进程也被正确终止,避免成为孤儿进程继续消耗资源。 3. 输出文件整理:/loop 在执行过程中可能产生日志文件或输出数据。循环结束后应根据需要归档或清理这些文件,避免堆积占用磁盘空间。 4. 状态清除:/loop 的内部状态(如执行计数、累计结果等)在循环结束后应被正确清除,为下次启动提供干净的环境。