# 启动脚本进程判断改为 ps -ef 实施记录 ## 修改内容 - 将 `bin/prod/restart_java.sh` 中的后端进程收集逻辑由 `pgrep -f` 改为 `ps -ef | awk` - 将 `bin/restart_java_backend.sh` 中的后端进程收集逻辑由 `pgrep -f` 改为 `ps -ef | awk` - 删除 `bin/restart_java_backend.sh` 中对 `pgrep` 命令的依赖校验 - 更新 `bin/prod/restart_java_test.sh`,补充 `ps -ef` / `pgrep` 约束校验,并修正测试夹具中的 JDK 目录 - 新增 `bin/restart_java_backend_test.sh`,校验本地后端重启脚本已改用 `ps -ef` ## 实现说明 - 两份脚本都只在 `ps -ef` 结果中匹配同时满足“包含脚本标记参数”和“`-jar` 指向目标 jar”这两个条件的 Java 进程 - 进程筛选时继续忽略 `` 记录,避免误判僵尸进程 - 现有 PID 文件校验逻辑保持不变,本次只收敛“扫描当前是否已有进程”的实现方式 ## 路径检查 - 已确认本次实施记录保存路径为 `doc/implementation-report-2026-04-09-start-script-ps-ef.md` ## 验证结果 - 已执行 `sh bin/prod/restart_java_test.sh` - 已执行 `sh bin/restart_java_backend_test.sh` - 已执行 `sh -n bin/prod/restart_java.sh && sh -n bin/restart_java_backend.sh` - 已确认测试中拉起的假 Java 进程在脚本收尾阶段自动停止并清理