命令字典
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
Slash 命令、CLI 子命令、Hook 事件、启动参数的字典与演进史。
claude stop 的别名:停止一个后台会话
claude stop <id>claude stop 7c5dcf5dclaude kill 是 claude stop <id> 的另一种写法。官方 CLI reference 对 claude stop <id> 的描述是"Stop a background session. Also accepts claude kill"。它用来停止一个 background session,也就是用 claude --bg 启动、由 agent view 管理的后台会话。
它属于 agent view 文档中「Manage sessions from the shell」一节列出的 shell 命令,同一张表里的命令有 claude agents、claude attach、claude logs、claude respawn、claude rm、claude daemon ...。
官方文档没有给出 claude stop / claude kill 的引入版本号,所以这里不写版本要求。
claude stop <id>
claude kill <id> # 与 stop 等价的另一种拼写
# 官方示例
claude stop 7c5dcf5d
<id> 是会话的短 ID。官方文档说明,这个 ID 在用 claude --bg 启动会话时打印出来,也是该会话在 ~/.claude/jobs/ 下的目录名。
文档里只列了 <id> 这一个参数。claude attach 和 claude logs 可以用会话名(需要 v2.1.290 或更高版本),而 claude stop 的文档只写了 <id>。
claude agents --json 会把活跃会话输出为 JSON 数组。文档说明,其中的 id 字段(短 ID)可用于 claude attach、claude logs 和 claude stop。加上 --all 还会包含已完成的后台会话。
下面的例子由这两点推出,我没有实际运行过。它会停止所有活跃的后台会话:
claude agents --json | jq -r '.[].id' | xargs -n1 claude stop
文档没有说明 claude stop 的退出码,所以不要在脚本里依赖具体数值。
在 agent view 里,快捷键 Ctrl+X 的作用是"Stop the session; press again within two seconds to delete it"。官方文档把 Ctrl+X 和 claude stop 并列为让会话进入 Stopped 状态的两种方式。连按两次 Ctrl+X 会删除会话,而 claude stop 只停止,不删除。
| 约束 | 原因 |
|---|---|
| 只作用于 background session | 它属于 agent view 的 shell 管理命令组 |
文档只列出 <id> 作为参数 | 按名称匹配只在 claude attach / claude logs 的文档中提到 |
| 会话归属某个 supervisor | 设置了 CLAUDE_CONFIG_DIR 时,supervisor 使用该目录,并作为独立实例管理自己的会话 |
claude rm <id>。claude rm 之后对话 transcript 仍保留在本机,可通过 claude --resume 访问。claude stop 只针对单个会话。要停 supervisor 以及它托管的全部会话,用 claude daemon stop --any。加 --keep-workers 可以让后台会话继续运行,由下一个 supervisor 重新连接。claude respawn <id>。 文档说明它对运行中或已停止的会话都有效,并会恢复已保存的对话。← 或 /background 转入后台的会话,在 Claude Code 之外用系统 kill 结束进程,会被标记为 Stopped。 官方文档说,你用 ← 或 /background 自己转入后台的会话,若被 kill 结束,会标记为 stopped,不会被 supervisor 自动重启。修复登录过期或即将过期时运行该命令可能导致登出的问题。