我无法停止 tomcat。我在 Fedora 13 上运行,并以通常的方式停止服务:
/etc/init.d/tomcat6 stop
但我收到了一条失败消息。Catalina.out 说:
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8086; nested exception is:
java.net.BindException: Address already in use
谢谢
答案1
查找监听 8086 的进程:
lsof -i :8086
并杀死
kill -9 PID
或者停止所有 Java 应用程序:
killall java
如果没有帮助
killall -9 java
答案2
您的问题的答案就在抛出的异常中。另一个应用程序正在监听同一个端口 8086。这可能是因为您有两个 tomcat 实例正在运行。主要的可能性可能是容器/java 应用程序线程过早结束,因此实例仍然挂起。通常这样做ps 辅助 | grep java应该会告诉您当前正在使用哪个 jvm。然后您可以终止所有服务并重新启动 tomcat 以解决问题。但如果不是这种情况,并且另一个服务正在监听端口 8086 - 那么我的建议是,转到 $CATALINA_HOME/conf/server.xml 并搜索并将 8086 替换为不同的端口号。