# M13-04G:取消 Blender 进程树 - `task`: `M13-04G` - `parent`: `M13-04F` - `status`: `done` ## 目标 取消真实 Blender server job 时终止整个 process tree,等待子进程退出,并清理一次性 job 目录; 不得留下孤儿进程或临时文件。 ## 输入 - manifest:`tests/golden/M13-04F/manifest.json` - process receipt:M13-04F 输出 receipt - job 目录:`tools/web/server-job-isolation.mjs` ## 范围 - 做:Abort/cancel 到 process-group/tree 的映射、幂等等待、目录清理和 orphan 计数。 - 不做:timeout/OOM/signal 分类和结果 hash 校验;分别属于 H/I。 ## 验收 ```text npm --prefix web run test:server-job-cancellation ``` 必须有真实长运行 fixture、取消竞态、重复取消、子进程和目录残留负例。 ## 产物和交接 成功后生成 `tests/golden/M13-04G/` 证据,manifest 的 `nextTask` 为 `M13-04H`。 ## 回滚 删除取消控制器、专项测试、checker、报告、manifest、package 命令和状态页,恢复 M13-04F 队列尾。