# 生产一键部署脚本 netstat 端口检测兼容实施记录

## 问题现象
- 运行 `bin/prod/deploy_from_package.sh` 时出现报错：
  - `[2026-04-01 02:45:09] 缺少端口检测命令: ss 或 lsof`

## 根因分析
- 脚本启动后端前会先检查端口检测命令
- 之前的实现只支持 `ss` 和 `lsof`
- 用户实际环境中两者都不可用，因此脚本在前置校验阶段直接退出
- 当前仓库开发环境中还存在 `netstat`，说明“只支持 `ss`/`lsof`”不是部署链路本身的要求，而是脚本实现约束过窄

## 修改内容
- 更新 `bin/prod/deploy_from_package.sh`
- 将端口检测命令支持范围从：
  - `ss`
  - `lsof`
  扩展为：
  - `ss`
  - `lsof`
  - `netstat`
- 更新端口检测失败提示文案为“缺少端口检测命令: ss、lsof 或 netstat”
- 更新 `bin/prod/deploy_from_package_test.sh`
- 新增 `netstat` 回退场景自测，验证在 `PATH` 中无 `ss`、无 `lsof`、仅有 `netstat` 时脚本仍可正常完成部署

## 验证结果
- 已执行 `sh -n bin/prod/deploy_from_package.sh`
- 已执行 `sh bin/prod/deploy_from_package_test.sh`
- 自测结果覆盖：
  - 正常部署成功
  - 多个发布 zip 失败
  - 仅 `netstat` 可用时，端口监听检测仍然通过
