linux怎么查看程序端口被占用
linux怎么查看程序端口被占用详细介绍
在 Linux 系统中,查看端口被占用的情况可以通过以下几种常用方法实现:
方法一:使用
lsof 命令(列出打开的文件和端口)
lsof(List Open Files)可以列出所有打开的文件和网络连接,包括端口占用情况。
命令格式:
bash
:端口号
- 示例:查看端口
8080的占用情况bash:8080 - 输出说明:plaintext
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEnode 12345 user 3u IPv4 123456 0t0 TCP *:8080 (LISTEN)
COMMAND:占用端口的程序名称PID:程序的进程 IDUSER:运行程序的用户STATE:端口状态(如LISTEN表示监听状态)
方法二:使用
netstat 命令(网络统计信息)
netstat 用于显示网络连接、路由表、网络接口统计等信息,搭配 -tuln 参数可查看端口占用。
命令格式:
bash
端口号
- 参数说明:
-t:查看 TCP 端口-u:查看 UDP 端口-l:仅显示处于监听状态的端口-n:以数字形式显示 IP 地址和端口号,不解析域名
- 示例:查看 TCP 端口
80和 UDP 端口53的占用bash - 输出示例:plaintext
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTENudp 0 0 0.0.0.0:53 0.0.0.0:*
方法三:使用
ss 命令(更高效的网络统计工具)
ss(Socket Statistics)是比 netstat 更高效的工具,用于显示套接字信息。
命令格式:
bash
ss 端口号
- 参数与
netstat类似,但性能更好,尤其适合大规模网络环境。 - 示例:查看监听状态的所有 TCP 端口bash
ss
方法四:结合端口和进程 ID 终止程序(可选)
如果需要终止占用端口的进程,可先用上述方法获取 PID,再通过 kill 命令结束进程:
bash
PID
总结常用命令:
| 需求 | 命令示例 | |
|---|---|---|
| 查看指定端口占用 | lsof -i :8080 或 `netstat -tuln |
grep 8080` |
| 查看所有监听端口 | netstat -tuln 或 ss -ltn |
|
| 查看 UDP 端口 | 增加 -u 参数(如 netstat -uln) |
根据实际场景选择合适的工具即可,lsof 适合精准定位进程,ss 适合高效查询大规模网络连接。