任务占用与清理
处理取消、等待清理、维护锁、残留终端和重复任务。
Hanafubuki 会保留任务和进程的所有权,直到确认进程已经结束并释放资源。因此“已请求取消”“命令没有新输出”和“窗口已经关闭”都不等于任务已经清理完成。
认识任务状态
| 状态 | 含义 | 应做什么 |
|---|---|---|
| 运行中 | 后端任务或子进程仍在工作 | 查看输出,等待或请求取消 |
| 取消中/停止中 | 已发送请求,尚未确认终态 | 等待,不创建替代任务 |
| 失败 | 业务操作失败,进程可能已经或尚未清理 | 展开错误和清理状态 |
| 等待清理 | 无法确认终止、缺席或元数据释放 | 使用原任务提供的清理重试 |
| 已取消/已完成 | 任务进入终态 | 再开始后续操作 |
任务中心会列出运行中、需要处理、失败和最近完成的活动。当前页面右下角状态项与任务中心指向同一后端任务时,不需要在两个地方分别取消。
正确取消任务
在启动该工作的页面点击取消或停止。
打开日志,确认取消请求是否已送达以及子进程是否开始退出。
等待界面显示已取消、失败或完成,不要关闭应用来代替取消。
出现“重试进程清理”时,使用该按钮继续同一个清理义务。
任务中心不再显示运行或待处理状态后,再重新安装、启动、迁移或删除。
强制从系统任务管理器结束进程可能让 Hanafubuki 暂时无法确认资源状态。确需强制处理时,先保存日志,并在之后回到原任务执行清理重试,不要立即删除任务记录或实例目录。
实例提示被占用
同一实例的安装、启动、管理、终端和维护操作需要协调。看到占用或维护锁时:
- 在任务中心筛选该实例的运行活动。
- 打开“实例信息”查看启动和管理状态。
- 检查实例终端是否仍在运行或清理失败。
- 迁移、重装或删除中断时,回到“维护”页继续同一个恢复操作。
- 不要创建同路径的新实例,也不要手动移动正在恢复的目录。
不同实例可以并行工作;如果所有实例都被阻止,继续检查应用运行环境或共享运行时,而不是把问题归因于单个实例锁。
后台终端和长时间命令
- 实例终端离开页面后仍可能保留,重新进入可恢复输出。
- Agent 后台终端使用
/ps查看、使用/stop清理;它与停止当前 Agent 回答不同。 - 开发服务器和文件监听器可能没有新输出,但仍占用端口和文件。
- 终端显示“清理失败”时应重试同一会话的关闭,不要连续创建新终端。
什么时候可以重试业务操作
只有同时满足以下条件时再重试:
- 原任务已经进入完成、失败或取消终态。
- 没有“等待清理”或“恢复必需”提示。
- 相关进程和终端已确认结束。
- 实例维护锁已经释放。
- 导致首次失败的网络、权限、路径或配置原因已经改变。
如果只是重复提交相同输入而没有处理原因,新任务通常只会产生相同错误并增加清理负担。