定位与处置
定位与处置
ss -tlnp 'sport = :8080' # 谁在监听
lsof -i :8080 # 精确到进程
ss -tan state time-wait 'sport = :8080' # TIME-WAIT 残留
sysctl net.ipv4.tcp_tw_reuse net.ipv4.ip_local_port_range
journalctl -u myapp -n 50 --no-pager | tail -20| 现象 | bind(): Address already in use(EADDRINUSE) |
|---|---|
| 类型1 | 另一进程正在监听(含 supervisor 拉起双份实例) |
| 类型2 | TIME-WAIT 残留且未设置 SO_REUSEADDR |
| 类型3 | 绑定地址冲突:0.0.0.0 与具体 IP,或不同 netns 各有一套端口表 |
服务重启后偶发此错,多为旧进程退出慢:systemd TimeoutStopSec 内没退干净,新老进程并存。