tomcat端口占用解决方法

通常时候端口被占,我只是不停的去shutdown tomcat,然后再去任务管理器杀进程。这样通常也很好用,但是最近学到了一个比较科学的方法如下: 第一步查看一下是哪个进程在使用该端口使用如下命令:

批处理代码 netstat -ano | more

第二步找到是哪个进程使用如下命令:

Java代码

1. tasklist | more

第三步就可以关应用程序去了。

附:

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v]

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

-b 显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。

这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP

部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。 -e 显示以太网统计信息。此选项可以与 -s选项组合使用

-n 以数字形式显示地址和端口号。 此选项可以与 -a选项组合使用 -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 选项用于指定默认情况的子集。

-v 与 -b 选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件

interval 重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果省略,netstat 显示当前

 

第二篇:tomcat端口被占用错误

.严重: StandardServer.await: create[8005]:默认分类 2011-03-14 17:44:51 阅读641 评论0 字号:大中小 订阅 .org.apache.catalina.core.StandardServer await严重: StandardServer.await: create[8005]: java.net.BindException: Address already in useat java.net.PlainSocketImpl.socketBind(Native Method)at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)at java.net.ServerSocket.bind(ServerSocket.java:319)at java.net.ServerSocket.<init>(ServerSocket.java:185)at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)at org.apache.catalina.startup.Catalina.await(Catalina.java:662)at org.apache.catalina.startup.Catalina.start(Catalina.java:614)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.start(Bootstrap.java:289)at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)org.apache.coyote.http11.Http11Protocol pause总的意思是端口被占。在网上查找的一些相关说明及解决办法:在使用ecplipse和jbuilder里的Tomcat时,有时候会遇到像下面这样的问题.严重: StandardServer.await: create[8005]:java.net.BindException: Address already in use: JVM_Bind其实问题比较简单,1,独立运行的Tomcat没有关闭.自安装的tomcat程序设置开机自动运行,或者在之前运行过,先关闭ecplipse或jbuilder,在任务管理器中找到Tomcat的进程,将其kill掉,即可.有时候Tomcat非法关闭时,在进程中,仍然存在,仍然占用8080端口.所以只要将其进程杀掉.就可以解决.2,安装了其他的软件占用了Tomcat的端口.用可以查看端口的工具查看一下,或者,直接改掉tomcat的默认端口.即可.通过防火墙中的系统状态查看,果然javaw 占用了8080端口。结束掉该进程后,Tomcat正常启动。######create[8005],明白了,应该是在创建端口时出错了,java.net.BindException: Address already in use: JVM_Bind说明这个端口已经在使用了,tomcat当然不能用了,赶紧到安装目录/conf/下找到server.xml,找到使用8005端口的语句,把端口号改成不在使用的(8006)。哈哈,这次服务正常启动了。

相关推荐