1.2 KiB
1.2 KiB
生产一键部署脚本改用 ps -ef 识别进程实施记录
修改内容
- 更新
bin/prod/deploy_from_package.sh - 将后端进程识别与收集方式从
pgrep改为ps -ef - 删除脚本对
pgrep命令的前置依赖 - 更新
bin/prod/deploy_from_package_test.sh - 新增断言,要求脚本不能再依赖
pgrep,并必须包含ps -ef进程识别逻辑
调整原因
- 用户要求使用
ps -ef判断进程 - 旧实现依赖
pgrep -f收集托管进程,不符合当前要求
实现说明
is_managed_backend_pid现在通过ps -ef | awk按 PID 读取目标进程行collect_backend_pids现在通过ps -ef | awk同时匹配:-Dloan.pricing.home=<脚本目录>backend/ruoyi-admin.jar
- 只有同时满足托管标记和目标 jar 路径的进程才会被纳入停止范围
验证结果
- 已执行
sh -n bin/prod/deploy_from_package.sh - 已执行
sh bin/prod/deploy_from_package_test.sh - 自测结果确认:
- 脚本中已不存在
pgrep - 脚本中已使用
ps -ef - 正常部署链路仍然通过
- 多个发布 zip 失败场景仍然通过
netstat端口检测回退场景仍然通过
- 脚本中已不存在