第20篇-后台任务与进程管理
【Hermes Agent 从入门到精通】第 20 篇后台任务与进程管理本系列定位零基础入门从安装配置到高级架构全覆盖。无论你是开发者、运维工程师、还是技术爱好者本系列带你彻底掌握 Hermes Agent。本篇你将学到/background后台执行长任务terminal(backgroundtrue)后台命令notify_on_complete完成通知多任务并行管理任务取消与中断学完本篇你将能让 Hermes 同时处理多个任务不再因为一个长任务而阻塞。一、为什么需要后台任务1.1 前台阻塞的问题你帮我运行测试套件 Hermes 执行 pytest...需要 10 分钟 你等待中... 想问别的问题也问不了前台执行时整个会话被阻塞你无法在等待期间做其他事。1.2 后台执行的体验你帮我运行测试套件 Hermes 后台执行 pytest... ✅ 已放入后台任务 ID: task_001 完成后会通知你。 你好的那帮我看看这个 API 的设计 Hermes立即处理新请求 ... 10 分钟后 后台任务完成task_001 测试结果45 通过3 失败 失败详情...–下面是前后台执行流程对比图对比后台执行非阻塞用户请求Hermes 放入后台立即返回任务 ID用户可以继续提问后台任务完成 自动通知用户前台执行阻塞用户请求Hermes 执行任务等待完成...无法发起新请求任务完成二、/background 后台 Prompt2.1 基本用法在会话中用/background把一个任务放到后台/background 帮我分析整个项目的代码质量生成报告Hermes 在后台启动一个独立的 Agent 会话执行这个 Prompt。你可以继续在当前会话中做其他事。2.2 查看后台任务/agents活跃的后台任务 task_001 [running] 分析项目代码质量 已运行 3 分钟 task_002 [running] 生成 API 文档 已运行 1 分钟2.3 后台任务完成通知后台任务完成后Hermes 会自动在当前会话中通知你 后台任务完成task_001 代码质量报告 总体评分B 问题数123 严重9 一般 ...三、terminal 后台命令3.1 在终端工具中指定后台执行Hermes 的终端工具支持后台模式。当你让 Hermes 执行一个长时间运行的命令时它会自动判断是否需要后台执行你运行 npm install Hermes 后台执行npm install 这个操作可能需要几分钟已放入后台。 完成后通知你。3.2 notify_on_complete对于用terminal(backgroundtrue, notify_on_completetrue)启动的后台命令你编译项目并告诉我结果 Hermes后台编译 几分钟后 编译完成BUILD SUCCESSFUL 耗时2 分 15 秒四、多任务并行4.1 delegate_task 并行委派更高级的并行方式是用delegate_task第 21 篇详解同时启动多个子 Agent你同时分析三个模块的代码质量 Hermes 启动 3 个并行子 Agent Agent 1分析 order 模块 Agent 2分析 product 模块 Agent 3分析 user 模块 等待全部完成... 汇总结果 order 模块A优秀 product 模块B良好 user 模块C需要改进4.2 任务状态管理/agents ← 查看所有运行中的任务 /stop ← 停止所有后台任务五、独立 Hermes 进程5.1 用 terminal 启动独立 Hermes最强大的后台方式——启动一个完全独立的 Hermes 进程你帮我在后台启动一个 Hermes 实例让它研究 GRPO 训练方法结果写到 ~/research/grpo.md Hermes terminal: hermes chat -q 研究 GRPO 训练方法写总结到 ~/research/grpo.md (backgroundtrue) ✅ 后台 Hermes 进程已启动预计 5-10 分钟完成。5.2 tmux 交互式多 Agent对于需要交互的后台 Agent用 tmux# Hermes 启动一个 tmux 会话 你启动一个后台 Agent在 ~/my-project 中工作 Hermes tmux new-session -d -s worker -x 120 -y 40 hermes -w ✅ 后台 Agent 已启动tmux 会话: worker 你可以用以下方式交互 查看输出tmux capture-pane -t worker -p 发送消息tmux send-keys -t worker 你的消息 Enter多 Agent 协作的详细内容在第 22-23 篇深入讲解。六、任务生命周期6.1 完整生命周期创建 → 运行中 → 完成正常/失败/超时/取消6.2 超时控制# 全局超时配置hermes configsetterminal.timeout600# 10 分钟6.3 取消任务/stop ← 停止当前会话的所有后台任务对于独立进程# 终止 tmux 会话tmux kill-session-tworker# 终止后台进程killPID下面是任务生命周期状态转换图创建运行中正常完成失败超时取消可通过 /agents 查看状态可通过 /stop 取消任务七、使用场景对照场景推荐方式说明运行测试套件terminal(backgroundtrue)短期几分钟分析项目代码/background中期几分钟到十几分钟研究某个主题独立 Hermes 进程长期可能几十分钟并行多个独立任务delegate_task同时分析多个模块定时自动任务Cron按时间/事件触下面是场景选择决策流程图几分钟十几分钟几十分钟以上否是是否需要后台执行任务任务时长?是否需要交互?/background 后台 Prompt独立 Hermes 进程terminal(backgroundtrue)tmux 交互式 Agent多个独立任务?delegate_task 并行委派单个后台任务hermes chat -q ...后台独立运行发 |模块四总结恭喜完成自动化与调度模块篇主题核心收获16Cron 定时任务三种调度格式、LLM 驱动 vs 脚本驱动17Cron 进阶技能驱动、任务链、workdir、模型覆盖18Webhook外部事件触发、GitHub 集成19综合实战定时巡检 事件响应 流水线20后台任务/background、notify_on_complete、多任务并行你的 Hermes Agent 现在具备完整的自动化能力。下篇预告第 21 篇子 Agent 委派 — delegate_task一个 Agent 不够用让它分身下一篇学习子 Agent 委派和并行任务执行。如果本篇内容对你有帮助欢迎点赞收藏有任何疑问欢迎在评论区交流。