linux如何查询tomcat端口被占用
linux如何查询tomcat端口被占用详细介绍
在 Linux 系统中查询 Tomcat 端口是否被占用,主要是通过查看指定端口(默认 Tomcat 端口为 8080,可通过 server.xml 配置修改)的监听情况。以下是具体操作步骤:
方法 1:使用 netstat 命令
netstat 是常用的网络状态查询工具,可用于查看端口占用情况。
执行以下命令(需 root 权限或使用 sudo):
bash
- 参数说明:
-t:显示 TCP 连接;-u:显示 UDP 连接;-n:以数字形式显示 IP 和端口(而非域名或服务名);-l:显示处于监听(Listening)状态的连接;-p:显示进程 PID 和名称(需 root 权限)。
示例输出:
plaintext
tcp6 0 0 :::8080 :::* LISTEN 1234/java
其中 1234 是占用该端口的进程 PID,java 是进程名称(Tomcat 通常由 Java 进程启动)。
方法 2:使用 lsof 命令
lsof(List Open Files)可以列出所有打开的文件或端口对应的进程信息。
执行以下命令(需 root 权限或使用 sudo):
bash
:8080
- 参数说明:
-i :端口号表示查询指定端口的占用情况。
示例输出:
plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEjava 1234 root 45u IPv6 12345 0t0 TCP *:8080 (LISTEN)
其中 PID 为 1234 的 java 进程占用了 8080 端口。
方法 3:使用 ss 命令(较新 Linux 系统)
ss 是 netstat 的替代工具,性能更优,适用于较新的 Linux 系统(如 CentOS 7+、Ubuntu 16.04+)。
执行以下命令:
bash
ss
- 参数说明与
netstat类似,输出格式更简洁。
后续操作(若需终止进程)
如果需要释放被占用的端口,可通过进程 PID 终止对应进程:
bash
PID
注意事项
- 若 Tomcat 配置了非默认端口(如 80、8081 等),需将上述命令中的
8080替换为实际端口号; - 若查询无结果,可能是 Tomcat 未启动或端口未正确监听(需检查 Tomcat 日志或配置文件
conf/server.xml); - 部分系统可能需要安装额外工具(如
net-tools包:sudo apt install net-tools或sudo yum install net-tools)。