后台 bash 命令
后台执行长时间运行的命令
概述
后台命令允许长任务异步执行,Claude Code 会返回任务 ID,便于继续对话与后续管理。
工作原理
- 异步执行,不阻塞工作流
- 输出缓冲,可随时检索
- 任务 ID 便于追踪与管理
- 会话结束时自动清理
启动后台命令
1. 通过提示启动
在后台运行 npm install
[后台任务 ID: task-12345 已启动]2. 使用 Ctrl+B
npm test
[按 Ctrl+B]
[任务已移至后台,ID: task-12346]3. 使用 /background
/background npm run dev
[后台任务 ID: task-12347 已启动]常见场景
在后台运行 webpack build
[后台任务 ID: task-12348 已启动]在后台运行 npm install
[后台任务 ID: task-12349 已启动]在后台运行 jest --watch
[后台任务 ID: task-12350 已启动]在后台运行 npm run dev
[后台任务 ID: task-12351 已启动]在后台运行 docker-compose up
[后台任务 ID: task-12352 已启动]在后台运行 nodemon server.js
[后台任务 ID: task-12353 已启动]管理后台任务
列出所有后台任务
正在运行的后台任务:
- task-12345: npm install (运行中)
- task-12346: npm test (运行中)
- task-12347: npm run dev (运行中)检查任务 task-12345 的状态
任务 task-12345 状态:
- 命令: npm install
- 状态: 运行中
- 运行时间: 2分30秒
- PID: 12345获取任务 task-12345 的输出
added 1423 packages in 2m
found 0 vulnerabilities停止任务 task-12345
任务 task-12345 已停止清理已完成的任务
已清理 2 个已完成的后台任务使用场景示例
# 启动后台构建
在后台运行 npm run build
# 同时询问 Claude 问题
请解释这段 React 代码的工作原理:
function App() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}# 启动后台开发服务器
在后台运行 npm run dev
# 查看服务器输出
获取任务 task-12347 的输出
Compiled successfully!
You can now view my-app in the browser.
Local: http://localhost:3000# 同时启动多个任务
在后台运行 npm install
在后台运行 npm run lint
在后台运行 npm test
# 查看所有任务状态
列出所有后台任务高级技巧
在后台运行 npm install && npm run build
[后台任务 ID: task-12354 已启动]在后台运行 npm run build > build.log 2>&1
[后台任务 ID: task-12355 已启动]在后台运行 "* * * * * /usr/bin/node /path/to/script.js"
[后台任务 ID: task-12356 已启动]# 启动开发服务器
在后台运行 npm run dev
[后台任务 ID: task-12352 已启动]
# 同时运行测试
在后台运行 npm test
[后台任务 ID: task-12353 已启动]
# 继续开发
创建一个新的组件
### 长时间构建
# 启动构建
在后台运行 webpack --mode production
[后台任务 ID: task-12354 已启动]
# 在构建时继续工作
编写测试用例# 启动监控
在后台运行 npm run watch
[后台任务 ID: task-12355 已启动]
# 查看输出
获取任务 task-12355 的输出Bash 模式
使用 ! 前缀直接运行 bash 命令:
! npm test
! git status
! ls -laBash 模式示例
# 快速检查状态
! git status
# 运行测试
! npm test
# 查看文件
! cat package.json最佳实践
- 长任务优先使用后台模式。
- 定期检查任务输出。
- 完成后清理任务,避免列表膨胀。
- 避免同时运行过多后台任务。
注意事项
- 后台任务在会话结束时自动清理。
- 输出为缓冲模式,可能非实时。
- 太多任务会影响性能。
故障排除
后台任务失败
- 检查任务输出获取错误原因。
- 确认命令语法与依赖。
- 必要时前台运行进行调试。
无法停止任务
- 尝试使用
pkill。 - 重启 Claude Code。
- 手动终止进程。
输出不显示
- 等待缓冲区填充。
- 手动获取任务输出。
- 确认任务仍在运行。