Skip to content

hwjcode v1.1.74

Choose a tag to compare

@github-actions github-actions released this 04 Jul 11:54
fix: 自更新外挂脚本被 SIGHUP 杀死,导致只重启不更新 (v1.1.74)

根因(真正的 bug!):
- 外挂脚本(relauncher)spawn 后,父进程 process.exit(0) 退出
- Linux 内核向同一 session 的所有进程发送 SIGHUP
- 外挂脚本是 detached 但仍在同一 session → 收到 SIGHUP 被杀
- 结果:外挂只执行到 'Helper started' 就死了,npm install 从未执行
- 进程重启了(login shell 拉起的),但 npm 没更新,所以版本不变

日志证据:
  [Relauncher] Helper started. Polling parent PID 984197...
  ← 到这里就停了!没有 'Parent exited' / 'Cleaning cache' / 'Installing'

修复(三重保险):
1. 外挂脚本开头:忽略 SIGHUP/SIGTERM/SIGINT 信号
2. 外挂脚本开头:调用 process.setsid() 创建新 session(Linux)
3. spawn 时传 env(确保环境继承)

验证: tsc 零错误, 23 self-update 测试通过