windows上提示tomcat端口被占用但netstat找不到进程

2012R2,tomcat 8.5 zip,应用已经运行一段时间,但偶尔停止之后重启,会提示http-nio端口已被占用,BindException already in use。
修改server.xml端口号可以正常启动。

发生几率极低,大约个位数

netstat -ano不显示该端口
最后重启os后解决

不确定是否与命令行/服务方式运行有关。

阅读 5.4k
1 个回答

首先确认重启之前旧进程已经结束。

默认情况下,TCP 端口从关闭到重新开启需要等待一段时间(TIME_WAIT),在这一时间段,端口不能使用。
详情请查阅 TCP 标准文档 https://tools.ietf.org/html/r...

以 Windows 操作系统为例,你可以通过修改 TcpTimedWaitDelay 注册表值来降低等待时间,它的默认值是 240 秒(4 分钟),注册表路径 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题