端口占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?
最近遇到一个奇葩的问题,项目跑的好好的,没有安装其它特殊软件,突然服务器启动报错,日志如下,显然是服务器的8080端口占用了。
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:438)
at sun.nio.ch.Net.bind(Net.java:430)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:225)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:218)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:194)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1328)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1341)
at org.apache.tomcat.util.net.AbstractJsseEndpoint.init(AbstractJsseEndpoint.java:241)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:695)
at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11
很多同学容易想到的常规解决方法(windows上)就是使用如下命令找到对应的pid,然后进行关闭
netstat -ano | findstr :8080
但是我这边用这个命令每次的结果都是空白的,也就是无法找到占用8080端口的进程。
那么windows端口占用,netstat无法找到,我们一般可以有哪些简单和行之有效的解决方法呢?
方法1 强制关机
!!!就是按住电源键5秒以上,系统断电。
有同学问为啥正常关机不就好了吗?实际上也是经验所得,正常关机有些进程会缓存下来,占用的端口也会在重启后立马就重新占用。但是强制关机所有的进程及程序缓存都会失效。
方法2 netstat 并使用windows10新增参数-q
通过查阅官网资料,从windows10开始,新增了一个-Q的参数能够查询出一种BOUND状态下的进程,笔者无法找到的进程就是这种状态的
使用示例:
netstat -anobq | findstr :8080
官网资料:
Netstat has been updated in Windows 10 with the addition of the -Q switch to show ports that have transitioned out of time wait as in the BOUND state. An update for Windows 8.1 and Windows Server 2012 R2 has been released that contains this functionality. The PowerShell cmdlet Get-NetTCPConnection in Windows 10 also shows these BOUND ports.
Until 10/2016, netstat was inaccurate. Fixes for netstat, back-ported to 2012 R2, allowed Netstat.exe and Get-NetTcpConnection to correctly report TCP or UDP port usage in Windows Server 2012 R2. See Windows Server 2012 R2: Ephemeral ports hotfixes to learn more.
方法3 修改windows动态端口范围
有一些更新可能会使可使用端口的范围有变化,比如Hyper-v
可使用如下命令更新保留端口范围,保留端口范围应该包含你使用端口
netsh interface ipv4 show excludedportrange protocol=tcp
net stop winnat
net stop LanmanWorkstation
net stop WlanSvc
net stop WwanSvc
netsh int ipv4 add excludedportrange protocol=tcp startport=8080 numberofports=1
net start winnat
net start LanmanWorkstation
net start WlanSvc
net start WwanSvc
使用如下命令更新动态端口范围,该范围应该在你使用的端口范围外
netsh int ipv6 show dynamic tcp
netsh int ipv4 set dynamic tcp start=9001 num=16384
端口占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?的更多相关文章
- 查看端口号根据pid号找到相关占用端口应用
查看端口号根据pid号找到相关占用端口应用 8080 端口被占用不知道被哪个应用软件占用,下面我来教你查出那个该死的应用 方法/步骤 1 首先用netstat 找到端口对应的pid号,找到之后 ...
- 在windows和linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等
一.在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等 这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入&quo ...
- Win10系统80端口被pid=4的System进程占用 -- 解决方法
背景: 今天在家里电脑下载phpstudy 2016后,准备启动服务器,结果提示80端口被占用 过程: 百度后有这几种解决方法: 1.IIS占用 .SQL server 2008的报表服务占用 可惜这 ...
- Windows下80端口被pid为4的System进程占用解决方法
前言 之前是Windows 7系统,前段时间装了Windows 10,php环境还没来得及搭建.今天折腾了一下,是用nginx+php,端口是80(已经停止了iis服务),nginx就是起不来,十之八 ...
- Linux下如何查看哪些进程占用的CPU内存资源最多
linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下获取占用 ...
- linux下查询进程占用的内存方法总结
linux下查询进程占用的内存方法总结,假设现在有一个「php-cgi」的进程 ,进程id为「25282」.现在想要查询该进程占用的内存大小.linux命令行下有很多的工具进行查看,现总结常见的几种方 ...
- Linux中查看进程占用内存的情况【转】
转自:http://hutaow.com/blog/2014/08/28/display-process-memory-in-linux/ Linux中查看某个进程占用内存的情况,执行如下命令即可,将 ...
- Linux下查看哪些进程占用的CPU、内存资源
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
- Linux/Centos查看进程占用内存大小的几种方法总结
1.命令行输入top回车,然后按下大写M按照memory排序,按下大写P按照CPU排序. 2. ps -ef | grep "进程名" ps -e -o 'pid,comm ...
- Windows netstat 查看端口、进程占用(转)
本文转自:http://ywsm.iteye.com/blog/510670 目标:在Windows环境下,用netstat命令查看某个端口号是否占用,为哪个进程所占用. 操作:操作分为两步: 1)查 ...
随机推荐
- WPF 布局 在有限空间内让两个元素尽可能撑开的例子
我在尝试写一个显示本机 WIFI 热点的账号和密码的控件,要求此控件在有限的空间内显示.但是尽可能显示出热点的账号和密码.而热点的账号和密码是用户配置的,也许长度很长.我的需求是在假如账号的长度较短的 ...
- 超好用的 Redis GUI 工具,你值得拥有
超好用的 Redis GUI 工具,你值得拥有 提供原生的性能,并且比使用 Electron 等 Web 技术开发的同等应用程序消耗的资源少得多. 下载地址:http://www.redisant.c ...
- 🎉 Socket.D v2.4.12 发布(新增 python 实现)
Socket.D 协议? Socket.D 是一个网络应用协议.在微服务.移动应用.物联网等场景,可替代 http.websocket 等.协议详情参考<官网介绍>. 支持: tcp, u ...
- Fast Walsh Transform 学习笔记 | FWT
本文中使用 \(\cap\) 表示按位与,用 \(\cup\) 表示按位或 Part 1. 与/或 卷积 First. 问题引入 给定长度为 \(2^n\) 的数列 \(A,B\),求 \(C_i = ...
- WEB服务与NGINX(24)- LNMP架构部署wordpress
目录 1. LNMP架构项目实战 1.1 LNMP架构介绍 1.2 LNMP架构部署wordpress 1.2.1 LNMP环境介绍 1.2.2 二进制部署mariadb 1.2.3 部署php-fp ...
- selenium Webdriver版本和浏览器版本不匹配问题:ChromeDriver only supports Chrome version 119 Current browser version is 124.0.6367.202
问题描述 代码如下: from selenium import webdriver from selenium.webdriver.common.by import By def test01(): ...
- 处理flex布局
点击查看代码 <view class="recommend-view"> <view class="title-view"> 热门推荐 ...
- Java简单实现MQ架构和思路01
实现一个 MQ(消息队列)架构可以涉及到很多方面,包括消息的生产和消费.消息的存储和传输.消息的格式和协议等等.下面是一个简单的 MQ 架构的实现示例,仅供参考: 定义消息格式和协议:我们可以定义一个 ...
- 一文搞懂RESTful开发
REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描述形式 http: ...
- GPU简介
摘自:https://zhidao.baidu.com/question/1765722944085349980.html 其发起者和主导者是baiNVIDIA(英伟达)公司. 1999年,duNVI ...