【发布时间】:2014-11-02 18:34:24
【问题描述】:
我在启动 Tomcat 服务器时遇到绑定异常。 我试图杀死正在使用“80”的进程,因为有几个进程正在使用它。
出现错误,杀死进程 id 为 '0':
错误:无法终止 PID 为 0 的进程。原因:这是 关键系统进程。 Taskkill 无法结束此进程。
如何解决这个问题?
我不需要使用其他端口来运行 tomcat 服务器。
【问题讨论】:
标签: java tomcat exception-handling
我在启动 Tomcat 服务器时遇到绑定异常。 我试图杀死正在使用“80”的进程,因为有几个进程正在使用它。
出现错误,杀死进程 id 为 '0':
错误:无法终止 PID 为 0 的进程。原因:这是 关键系统进程。 Taskkill 无法结束此进程。
如何解决这个问题?
我不需要使用其他端口来运行 tomcat 服务器。
【问题讨论】:
标签: java tomcat exception-handling
使用以下命令查看你的tomcat端口是否已经被使用,
netstat -a -b
netstat -a -o | findstr :port
例如
netstat -a -o | findstr :8080
例外:
java.net.BindException: Address already in use: JVM_Bind:80
表示端口 80 由您的 Tomcat 服务器配置,并且已被您计算机上运行的其他应用程序使用。如果打开 Skype 或将 Skype 中的默认端口或其他应用程序的端口更改为 80 以外的端口,请退出。 tomcat安装目录。
例外:
java.net.BindException: Address already in use: JVM_Bind
表示您没有正确停止 tomcat 服务器并且您正在尝试再次启动服务器。在 Eclipse 中,我的解决方案是从服务器选项卡中删除项目,然后右键单击并将项目作为在服务器上运行。这将项目添加回 Tomcat 7 并且我没有收到 BindException 错误。这是由于您上次使用时关闭了 eclipse 而没有停止 Tomcat 服务器。
【讨论】:
我遇到了同样的问题。我收到错误 无法打开调试器端口 (127.0.0.1:63936): java.net.BindException "Address already in use: JVM_Bind" 我首先尝试了所有选项,但没有解决任何问题。对我有用的解决方案是,我启动了服务器,然后停止并再次以调试模式启动。然后服务器以调试模式启动。
【讨论】:
确保 /webapps/ROOT 文件存在并且它包含所有图标、WEB-INF 和 index.jsp 在文件夹中。
当你启动Tomcat时,它会在<Tomcat-Directory>/conf/web.xml目录下运行这段代码:
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
index.jsp的位置在<Tomcat-Directory>/webapps/ROOT/index.jsp
另外,尝试使用 ./catalina.sh start 而不是 ./startup.sh 从 /bin 目录运行 tomcat。出于某种原因,./startup.sh 不那么可靠。
【讨论】:
我完全忘记了我之前安装了另一个版本的 Apache Tomcat,这导致了这个问题。因此,只需尝试卸载以前的版本。希望对您有所帮助。
【讨论】:
错误:
java.net.BindException:地址已在使用中:JVM_Bind :80
表示另一个应用程序正在侦听端口 80。
您可以通过lsof 命令检查哪个进程正在使用该端口,例如sudo lsof -i:80。然后停止或杀死它。
如果无法帮助找到运行在同一端口上的应用程序,则常见的错误是 Tomcat 配置错误。
例如,默认情况下,Tomcat 在端口 8005 上侦听 SHUTDOWN 命令,如果您设置另一个连接器在同一端口上侦听,则会出现端口冲突。
所以请仔细检查server.xml这些端口是否不同:
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8983" protocol="HTTP/1.1"
【讨论】:
C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\conf
Source 文件夹中Server.xml 文件中的端口号为8080。将端口号更改为8081...等
【讨论】:
我删除了我的服务器并重新添加了它。它发生是因为我通过任务管理器手动关闭了 eclipse,但它没有关闭 tomcat。
【讨论】:
我犯了一个愚蠢的错误,我花了 2 个小时来解决它。我在这里提到它是为了其他人可能会帮助他们。错误是我启用了 ssl 连接器并将 https 和 http 端口都更改为相同的编号。
【讨论】:
设置 Tomcat 监听 80 端口是 错误 ,对于开发来说 8080 是一个很好的端口。对于生产用途,只需设置一个将您的请求转发到您的 tomcat 的 apache。 Here 是一个方法。
【讨论】:
PID 0 是系统空闲进程,它肯定没有监听 80 端口。您如何检查哪个进程正在使用该端口?
你可以使用
netstat /nao | findstr "80"
找到PID并检查它是什么进程。
【讨论】:
错误:
Tomcat:java.net.BindException:地址已在使用:JVM_Bind :80
表明端口 80 已在使用中。
您可以:
另请参阅:Deployment error:Starting of Tomcat failed, the server port 8080 is already in use
【讨论】:
如果您有一些进程正在侦听端口 8080,那么您始终可以将 tomcat 配置为侦听不同的端口。通过编辑位于 tomcat 服务器 conf 目录下的 server.xml 来更改侦听器端口。
在 server.xml 中搜索 Connector port="8080" 并将端口号更改为其他端口。
【讨论】: