要查找某个 Java 进程对应的端口号,可以通过以下步骤实现:
方法 1:通过 netstat
或 ss
命令(适用于Win/Linux/Mac)
步骤:
-
找到 Java 进程的 PID(进程ID):
ps -ef | grep java
或使用 JDK 自带的工具:
jps -l
输出示例:
12345 com.example.MyApp
记录 PID(例如
12345
)。 -
根据 PID 查找端口号【此方法最有效】:
netstat -tulpn | grep <PID>
或:
ss -tulpn | grep <PID>
输出示例:
tcp6 0 0 :::8080 :::* LISTEN 12345/java
8080
是进程监听的端口号。
方法 2:通过 lsof
命令(仅限 Linux/Mac)
步骤:
- 直接查找 Java 进程的端口:
输出示例:lsof -i -P -n | grep java
java 12345 user 123u IPv6 0x123456 0t0 TCP *:8080 (LISTEN)
8080
是端口号。
方法 3:通过 jcmd
命令(需要 JDK)
步骤:
-
列出所有 Java 进程:
jcmd
输出示例:
12345 com.example.MyApp
-
查看进程的网络信息:
jcmd <PID> VM.native_memory | grep 'port'
或直接检查启动参数(如果端口号通过参数指定):
jcmd <PID> VM.command_line | grep 'port'
方法 4:通过程序自身配置
如果 Java 程序通过配置文件或命令行参数指定端口号,可以直接检查:
ps -ef | grep java | grep -E 'port|--port'
输出示例:
java -jar myapp.jar --port=8080
总结
- 先通过
jps
或ps -ef | grep java
找到 Java 进程的 PID。 - 再通过
netstat
、lsof
或jcmd
根据 PID 查找端口号。通过netstat -tulpn |grep <pid>
这个命令是最有效的,其他可以参考 - 如果是 Spring Boot 等框架应用,默认端口通常为
8080
,也可检查application.properties
文件。