docs:补充 18112 进程判读与 serve.py 需重启的规则

起因:同步 gmweb 时看到 18112 被占,先判断成「启动器在跑」、又改口成「残留 pythonw
serve.py」,两次都错 —— 实际是多调用模式下的 gmweb 子进程,进程名就叫 DNF90启动器.exe。

- 排查文档新增小节「18112 上跑的可能是启动器本身」:给出命令行三态判别表
  (带 serve.py 参数 = gmweb 服务 / 只有 exe 路径且占 19527 = 主进程 /
  父 pid 不存在 = 遗留服务),并附 Get-CimInstance 取证命令
- 明确推论:该进程跑的是启动那一刻的 serve.py;静态文件读盘即生效,
  但路由不会,症状是「页面新版、接口旧版,按钮点了没反应」
- AGENTS.md 8.3 同步补上「改 serve.py 后必须让 18112 进程重启」的部署动作
This commit is contained in:
hanfuit committed 2026-11-05 19:38:32 +08:00
1 parent 90877233fd
commit 0897761c47
2 files changed
+34

No files matched your search

+5
View File
@@ -263,6 +263,11 @@ git push origin main # ③ 推
仓库改了,`Z:\90server` 和桌面补丁包**还是旧的**(见 R3)。凡是改了 `gmweb/`、启动器或客户端的提交,
推完要:同步部署副本 → `diff -rq` 核对 → 该重打包的重打包 → 通知实际在玩的人重启启动器。
**改 `serve.py` 尤其要注意**:静态文件(`index.html` / `loadout.js` / `.css`)每次请求读盘、替换即生效,
但 `serve.py` 的路由是**进程启动时注册**的。抓 18112 的那个进程(进程名可能就叫 `DNF90启动器.exe`,
看命令行有没有 `serve.py --port 18112`)不重启,就会出现「页面是新版、接口是旧版」——
按钮点着没反应,最难查。所以:同步完先看 18112 是谁在听,该关就关,再重新打开启动器。
> 真实案例:`cc54603` 推了 gmweb 一键换装,但部署目录没同步,游戏里看不到新功能;
> 同时 18112 被一个残留 `serve.py` 占着,启动器看到端口已占用就跳过启动,
> 于是「改了、推了、也重启了,还是旧页面」(见 P-007、P-008)。