| 场景 | 端口被占用导致服务起不来 |
|---|---|
| 组合 | ss -tlnp + ps + lsof + kill |
定位
定位
ss -tlnp | grep ':8080' # 拿到 pid= 值
ps -p 4321 -o pid,ppid,user,lstart,cmd # 看身份与启动时间
cat /proc/4321/cwd 2>/dev/null; readlink /proc/4321/exe # 来源处理决策
处理决策
# 旧版本残留:优雅停
kill 4321
# 被 systemd/supervisor 托管:走其管理命令
systemctl status $(systemctl list-units --type=service | grep -i app | awk '{print $1}') 2>/dev/null
# 确认无法优雅退出才 -9(最后手段)
kill -9 4321 && ss -tlnp | grep ':8080'改动前先记录:PID/父进程/启动时间/工作目录/命令行,避免「杀了才发现是核心依赖」。