当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
步骤1:netstat -a -o -n,它将打开一个网络列表,搜索本地地址,如127.0.0.1:8080,并注意PID (eq 3624)
C:\>netstat -a -o -n
Step2: taskkill /F /PID 3624。运行此命令终止该进程。
C:\>taskkill /F /PID 3624
链接到帖子
其他回答
在窗户的情况下,我经历了一个新的东西… 从/bin文件夹停止tomcat将不会立即释放端口8080。端口释放大约需要5 ~ 10分钟。10分钟后再次如果我试图运行我的项目 运行->在服务器上运行。它允许运行。
我不确定我的理解是否正确!
最简单的解决方案
单行删除多个端口命令:
kill $(lsof -t -i:8005,8080,8009)
8005、8080和8009为需要释放的端口。
或者,在linux下尝试sudo kill sudo lsof -t -i:8005。
这可能是因为您没有正确地停止tomcat服务。为此,打开你的任务管理器,你可以看到一个javaw.exe服务。首先停止服务。现在重新启动tomcat,它可以正常工作。
如何杀死一个windows服务使用PID -
打开命令提示符并输入netstat -ano 找到正在使用的端口的PID,在本例中为8080,8005,8009。假设这些端口的PID为5760。 现在输入taskkill /f /pid 5760 它将关闭PID,端口将可用。现在,您可以通过Windows服务或eclipse本身正常启动tomcat。
谢谢
杀死一个停止或启动卡住的Windows服务
如果你在windows上运行,在命令行提示符中试试这个:
netstat -ano
这将显示所有正在使用的端口以及正在使用该端口的进程的进程id PID #。 然后按Ctrl+Alt+Del并打开任务管理器,查看哪个进程。
然后,您可以选择关闭/停止它,或者配置您的服务器使用其他端口。 要检查新选择的端口(比如8010)是否可用,请执行以下操作:
netstat -ano | grep 8010
如果它没有返回任何行,那么就没问题。
要更改端口,请转到Server视图,打开Server .xml并在那里更改端口。 我的记录是这样的:
Connector port="8010" protocol="AJP/1.3" redirectPort="8443"