java.netbind,JVM_Bind端口被占用的解决办法(涉及CMD命令NETSTAT的使用)

启动Tomcat时报如下错误:

严重: Error initializing endpoint

java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

at java.net.PlainSocketImpl.socketBind(Native Method)

at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)

at java.net.ServerSocket.bind(ServerSocket.java:319)

at java.net.ServerSocket.(ServerSocket.java:185)

at java.net.ServerSocket.(ServerSocket.java:141)

at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:50)

at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:538)

at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:176)

at org.apache.catalina.connector.Connector.initialize(Connector.java:1049)

at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)

at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)

at org.apache.catalina.startup.Catalina.load(Catalina.java:538)

at org.apache.catalina.startup.Catalina.load(Catalina.java:562)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2012-12-12 10:47:40 org.apache.catalina.core.StandardService initialize

严重: Failed to initialize connector [Connector[HTTP/1.1-80]]

LifecycleException:  Protocol handler initialization failed: java.net.SocketException: Unrecognized Windows Sockets error: 0: JVM_Bind

at org.apache.catalina.connector.Connector.initialize(Connector.java:1051)

at org.apache.catalina.core.StandardService.initialize(StandardService.java:703)

at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:838)

at org.apache.catalina.startup.Catalina.load(Catalina.java:538)

at org.apache.catalina.startup.Catalina.load(Catalina.java:562)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)

at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

2012-12-12 10:47:40 org.apache.catalina.startup.Catalina load

出现这样的错误原因很明了:端口被占用。

端口被占用的话有2个方法:

1,修改Tomcat的端口:

tomcat目录下,conf目录下server.xml文件:

找到:

connectionTimeout="20000"

redirectPort="8443" />

把port改成别的就可以。

2,把占用端口的进程找到,并关闭它。

cmd进入命令行,找出所有占用的端口,根据结果中的pid找到改程序,然后关闭它。

操作如下:

C:\Users\lushuaiyin>netstat -ano

活动连接

协议 本地地址 外部地址 状态 PID

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2940

TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 816

TCP 0.0.0.0:200 0.0.0.0:0 LISTENING 2940

TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4

TCP 0.0.0.0:1521 0.0.0.0:0 LISTENING 2316

TCP 0.0.0.0:5560 0.0.0.0:0 LISTENING 2480

TCP 0.0.0.0:5580 0.0.0.0:0 LISTENING 2480

TCP 0.0.0.0:22105 0.0.0.0:0 LISTENING 1460

TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 472

TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 880

TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING 976

TCP 0.0.0.0:49157 0.0.0.0:0 LISTENING 552

TCP 0.0.0.0:49158 0.0.0.0:0 LISTENING 2316

TCP 0.0.0.0:49159 0.0.0.0:0 LISTENING 2224

TCP 0.0.0.0:49160 0.0.0.0:0 LISTENING 2224

TCP 0.0.0.0:49188 0.0.0.0:0 LISTENING 528

TCP 0.0.0.0:49193 0.0.0.0:0 LISTENING 4060

TCP 0.0.0.0:60000 0.0.0.0:0 LISTENING 2604

TCP 10.24.8.210:139 0.0.0.0:0 LISTENING 4

TCP 10.24.8.210:50682 58.83.159.11:80 CLOSE_WAIT 6572

TCP 10.24.8.210:50683 58.83.159.11:80 CLOSE_WAIT 6572

TCP 10.24.8.210:50870 58.83.159.12:80 CLOSE_WAIT 3108

TCP 10.24.8.210:50871 58.83.159.12:80 CLOSE_WAIT 3108

TCP 10.24.8.210:50988 58.83.159.12:80 CLOSE_WAIT 5020

TCP 10.24.8.210:50989 58.83.159.12:80 CLOSE_WAIT 5020

TCP 10.24.8.210:50998 125.39.229.82:80 CLOSE_WAIT 5020

TCP 10.24.8.210:51042 125.39.229.84:80 CLOSE_WAIT 5020

TCP 10.24.8.210:51971 119.75.219.45:80 CLOSE_WAIT 1176

TCP 10.24.8.210:51986 180.149.131.33:80 CLOSE_WAIT 1176

TCP 10.24.8.210:52166 119.147.12.67:80 CLOSE_WAIT 3108

TCP 10.24.8.210:52167 119.147.12.67:80 CLOSE_WAIT 3108

TCP 10.24.8.210:52172 10.23.134.10:288 TIME_WAIT 0

TCP 10.24.8.210:52174 10.23.134.10:288 TIME_WAIT 0

TCP 10.24.8.210:52183 10.23.134.10:288 TIME_WAIT 0

TCP 10.24.8.210:52191 10.23.134.10:288 TIME_WAIT 0

TCP 10.24.8.210:52192 10.23.134.10:288 TIME_WAIT 0

TCP 10.24.8.210:52198 119.147.193.92:80 ESTABLISHED 3108

TCP 10.24.8.210:52199 119.147.193.92:80 ESTABLISHED 3108

TCP 10.24.8.210:52201 10.23.134.10:288 TIME_WAIT 0

TCP 127.0.0.1:61100 0.0.0.0:0 LISTENING 2224

TCP [::]:135 [::]:0 LISTENING 816

TCP [::]:445 [::]:0 LISTENING 4

TCP [::]:49152 [::]:0 LISTENING 472

TCP [::]:49153 [::]:0 LISTENING 880

TCP [::]:49155 [::]:0 LISTENING 976

TCP [::]:49157 [::]:0 LISTENING 552

TCP [::]:49188 [::]:0 LISTENING 528

TCP [::]:49193 [::]:0 LISTENING 4060

TCP [::]:60000 [::]:0 LISTENING 2604

UDP 0.0.0.0:500 *:* 976

UDP 0.0.0.0:1004 *:* 2940

UDP 0.0.0.0:3600 *:* 2784

UDP 0.0.0.0:4000 *:* 544

UDP 0.0.0.0:4001 *:* 544

UDP 0.0.0.0:4002 *:* 6512

UDP 0.0.0.0:4003 *:* 6852

UDP 0.0.0.0:4004 *:* 6852

UDP 0.0.0.0:4005 *:* 6512

UDP 0.0.0.0:4006 *:* 544

UDP 0.0.0.0:4007 *:* 6852

UDP 0.0.0.0:4008 *:* 6512

UDP 0.0.0.0:4500 *:* 976

UDP 0.0.0.0:5355 *:* 1356

UDP 0.0.0.0:15000 *:* 2940

UDP 0.0.0.0:15005 *:* 2940

UDP 0.0.0.0:19635 *:* 2940

UDP 0.0.0.0:22105 *:* 1460

UDP 0.0.0.0:22106 *:* 1460

UDP 0.0.0.0:49774 *:* 6512

UDP 0.0.0.0:50526 *:* 1176

UDP 0.0.0.0:51893 *:* 6572

UDP 0.0.0.0:52625 *:* 6512

UDP 0.0.0.0:53049 *:* 3148

UDP 0.0.0.0:54339 *:* 2784

UDP 0.0.0.0:54520 *:* 6512

UDP 0.0.0.0:54953 *:* 3508

UDP 0.0.0.0:56737 *:* 6512

UDP 0.0.0.0:57100 *:* 1176

UDP 0.0.0.0:57271 *:* 544

UDP 0.0.0.0:57272 *:* 544

UDP 0.0.0.0:57389 *:* 3148

UDP 0.0.0.0:57876 *:* 3108

UDP 0.0.0.0:58766 *:* 6852

UDP 0.0.0.0:58767 *:* 6852

UDP 0.0.0.0:58768 *:* 6852

UDP 0.0.0.0:58831 *:* 6852

UDP 0.0.0.0:59960 *:* 2940

UDP 0.0.0.0:62541 *:* 5852

UDP 0.0.0.0:62855 *:* 6512

UDP 0.0.0.0:63065 *:* 6512

UDP 0.0.0.0:63421 *:* 6512

UDP 0.0.0.0:63945 *:* 8392

UDP 0.0.0.0:64374 *:* 6512

UDP 0.0.0.0:64503 *:* 2940

UDP 0.0.0.0:65186 *:* 5020

UDP 0.0.0.0:65282 *:* 2940

UDP 0.0.0.0:65330 *:* 544

UDP 0.0.0.0:65430 *:* 6084

UDP 10.24.8.210:137 *:* 4

UDP 10.24.8.210:138 *:* 4

UDP 10.24.8.210:1900 *:* 2004

UDP 10.24.8.210:57879 *:* 2004

UDP 127.0.0.1:1900 *:* 2004

UDP 127.0.0.1:49524 *:* 6504

UDP 127.0.0.1:50500 *:* 3108

UDP 127.0.0.1:52135 *:* 3508

UDP 127.0.0.1:53796 *:* 1356

UDP 127.0.0.1:54612 *:* 8392

UDP 127.0.0.1:56110 *:* 6512

UDP 127.0.0.1:56394 *:* 544

UDP 127.0.0.1:57880 *:* 2004

UDP 127.0.0.1:58219 *:* 3000

UDP 127.0.0.1:58627 *:* 2964

UDP 127.0.0.1:60669 *:* 2940

UDP 127.0.0.1:61955 *:* 5020

UDP 127.0.0.1:62373 *:* 6572

UDP 127.0.0.1:62542 *:* 1176

UDP 127.0.0.1:62600 *:* 5144

UDP 127.0.0.1:64251 *:* 6852

UDP 127.0.0.1:64502 *:* 2784

UDP [::]:500 *:* 976

UDP [::]:4500 *:* 976

UDP [::]:5355 *:* 1356

UDP [::1]:1900 *:* 2004

UDP [::1]:57878 *:* 2004

UDP [fe80::7018:51c1:add8:f344%11]:546 *:*

880

UDP [fe80::7018:51c1:add8:f344%11]:1900 *:*

2004

UDP [fe80::7018:51c1:add8:f344%11]:57877 *:*

2004

C:\Users\lushuaiyin>tasklist|findstr "2940"

WebThunder.exe 2940 Console 1 20,368 K

C:\Users\lushuaiyin>

例如:我的tomcat使用80端口,使用第一个命令netstat -ano  列出所有端口的情况,找到IP后面是80的那一行。

它的PID是2940,再使用命令  tasklist|findstr “2940”

找到此程序是WebThunder.exe。原来是Web迅雷。

我们可以在任务管理器找到它,然后关闭。如果是个进程,在应用程序里找不到的话,就在进程里找,如果名字不太好找,就根据PID来找。

(在进程选项卡,用查看–选择列,把PID勾选,这样就出现PID了,把这个进程关闭)

——————————————————————————————————————————————–

说到这里我们对NETSTAT这个cmd命令就要好好研究一下。

进入cmd,输入netstat -haha,后面是我乱输入的。

因为没有后面那个参数,所以就会有帮助信息输出:

C:\Users\lushuaiyin>netstat -haha

显示协议统计和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]

-a 显示所有连接和侦听端口。

-b 显示在创建每个连接或侦听端口时涉及的可执行程序。

在某些情况下,已知可执行程序承载多个独立的

组件,这些情况下,显示创建连接或侦听端口时涉

及的组件序列。此情况下,可执行程序的名称

位于底部[]中,它调用的组件位于顶部,直至达

到 TCP/IP。注意,此选项可能很耗时,并且在您没有

足够权限时可能失败。

-e 显示以太网统计。此选项可以与 -s 选项结合使用。

-f 显示外部地址的完全限定域名(FQDN)。

-n 以数字形式显示地址和端口号。

-o 显示拥有的与每个连接关联的进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是下列任

何一个: TCP、UDP、TCPv6 或 UDPv6。如果与 -s 选

项一起用来显示每个协议的统计,proto 可以是下列任

何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP

或 UDPv6。

-r 显示路由表。

-s 显示每个协议的统计。默认情况下,显示

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6

的统计;-p 选项可用于指定默认的子网。

-t 显示当前连接卸载状态。

interval 重新显示选定的统计,各个显示间暂停的间隔秒数。

按 CTRL+C 停止重新显示统计。如果省略,则 netstat

将打印当前的配置信息一次。

C:\Users\lushuaiyin>

根据帮助信息,我们对这个命令的功能和用法一目了然!怎么使用,自己试试看效果要比我说的好得多,有兴趣的话,试试看吧

还有另外一个命令tasklist

C:\Users\lushuaiyin>tasklist ddd

错误: 无效参数/选项 - 'ddd'。

键入 "TASKLIST /?" 以了解用法。

C:\Users\lushuaiyin>tasklist /?

TASKLIST [/S system [/U username [/P [password]]]]

[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

描述:

该工具显示在本地或远程机器上当前运行的进程列表。

参数列表:

/S system 指定连接到的远程系统。

/U [domain\]user 指定应该在哪个用户上下文执行这个命令。

/P [password] 为提供的用户上下文指定密码。如果省略,则

提示输入。

/M [module] 列出当前使用所给 exe/dll 名称的所有任务。

如果没有指定模块名称,显示所有加载的模块。

/SVC 显示每个进程中主持的服务。

/V 显示详述任务信息。

/FI filter 显示一系列符合筛选器指定的标准的任务。

/FO format 指定输出格式。

有效值: "TABLE"、"LIST"、"CSV"。

/NH 指定列标题不应该在输出中显示。

只对 "TABLE" 和 "CSV" 格式有效。

/? 显示帮助消息。

筛选器:

筛选器名 有效操作符 有效值

----------- --------------- --------------------------

STATUS eq, ne RUNNING |

NOT RESPONDING | UNKNOWN

IMAGENAME eq, ne 映像名称

PID eq, ne, gt, lt, ge, le PID 值

SESSION eq, ne, gt, lt, ge, le 会话编号

SESSIONNAME eq, ne 会话名

CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为

hh:mm:ss。

hh - 时,

mm - 分,ss - 秒

MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB

USERNAME eq, ne 用户名,格式为 [domain\]user

SERVICES eq, ne 服务名称

WINDOWTITLE eq, ne 窗口标题

MODULES eq, ne DLL 名称

说明: 当查询远程机器时,不支持 "WINDOWTITLE" 和 "STATUS"

筛选器。

示例:

TASKLIST

TASKLIST /M

TASKLIST /V /FO CSV

TASKLIST /SVC /FO LIST

TASKLIST /M wbem*

TASKLIST /S system /FO LIST

TASKLIST /S system /U domain\username /FO CSV /NH

TASKLIST /S system /U username /P password /FO TABLE /NH

TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

C:\Users\lushuaiyin>

这个命令貌似很复杂,有兴趣慢慢研究吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值