我在关闭 tomcat 服务器时遇到问题。当我输入 localhost://8080 时,它一直显示 tomcat 主页。我也重新启动了系统,但没有帮助。我已经尝试了以下命令,但它没有显示任何可能在端口 8080 上运行的进程(以下命令没有输出任何内容。)
netstat -anp|grep :8080[[:blank:]]
fuser -n tcp 8080
lsof -w -n -i tcp:8080
netstat | grep 8080
我还尝试了 netstat -tulpn,结果显示如下。我没有看到任何在端口 8080 上运行的进程。
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2091/dropbox
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1046/mysqld
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 7657/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 901/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 5704/postgres
tcp6 0 0 ::1:631 :::* LISTEN 901/cupsd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 869/avahi-daemon: r
udp 0 0 0.0.0.0:46045 0.0.0.0:* 869/avahi-daemon: r
udp 0 0 127.0.0.1:53 0.0.0.0:* 7657/dnsmasq
udp 0 0 0.0.0.0:17500 0.0.0.0:* 2091/dropbox
udp6 0 0 :::51917 :::* 869/avahi-daemon: r
udp6 0 0 :::5353 :::* 869/avahi-daemon: r
有人能告诉我如何释放 8080 端口吗?我尝试运行 tomcat 的 ./shutdown,但它显示 java.net.ConnectException:连接被拒绝
我猜这是因为已经在端口 8080 上运行了即时程序。
谢谢。
答案1
对我来说很有效,
在终端中运行:
fuser -n tcp 8080
现在我们得到了如下输出:
8080/tcp: 15008
这里 15008 是我们的 apache 运行的地方。
使用以下方法杀死它:
kill -9 15008
完毕。
答案2
如果你从软件中心(或通过 apt-get 命令行)安装了 tomcat,那么它应该从标准的 ubuntu 安装目录运行。启动和停止 Tomcat 应该很简单
/etc/init.d/tomcat5.5 start
/etc/init.d/tomcat5.5 stop
也许需要将 5.5 替换为您正在使用的版本。
如果您刚刚下载了 tomcat 并从自定义解压目录运行,Apache 提供的启动和关闭脚本应该可以工作。假设您的 tomcat 位于 $TOMCAT_HOME:
$TOMCAT_HOME/bin/startup.sh
$TOMCAT_HOME/bin/shutdown.sh
如果一切都失败了,你总是可以手动终止所有 java 进程
killall java
或者,如果真的有什么东西卡住了
killall -9 java
最后这些将会终止当前正在运行的所有 java 进程。
答案3
ps -ef |grep 'catalina'
然后获取该 pid
kill -9 $pid
或者如果你想释放 8080 端口
将 tomcat 端口更改为 8080 以外的端口
vi $CATALINA_HOME/conf/server.xml
搜索以下部分,然后将端口号更改为您选择的任何值。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
保存更改并重新启动 tomcat。现在您的 8080 端口将可用,因为 tomcat 将运行到您更改的备用端口。
答案4
尝试这个命令可能会帮助你
sudo kill `sudo lsof -t -i:8080`