linux 命令 查询端口占用命令
时间: 2025-06-17 15:05:17 浏览: 25
### Linux 系统中查询端口占用的命令
在 Linux 系统中,有多种方法可以用来查询端口占用情况。以下是几种常见的命令及其用法:
#### 1. 使用 `netstat` 命令
`netstat` 是一个网络统计工具,它可以显示网络连接、路由表、接口统计、伪装连接和多播成员。通过组合不同的选项,可以查看特定端口的占用情况。
- 查看所有 TCP 和 UDP 的监听端口以及对应的进程信息:
```bash
netstat -ntulp
```
这里的参数含义如下:
- `-n`:不解析主机名和服务名称。
- `-t`:显示 TCP 端口。
- `-u`:显示 UDP 端口。
- `-l`:仅显示监听状态的套接字。
- `-p`:显示与每个连接关联的进程 ID 和程序名称[^2]。
- 如果想查找某个具体的端口(例如 8080):
```bash
netstat -ntulp | grep 8080
```
#### 2. 使用 `lsof` 命令
`lsof`(List Open Files)是一个列出当前系统打开文件的工具,在 Unix-like 系统中,几乎所有的设备都被视为文件,因此它也可以用于查看端口占用情况。
- 查找特定端口(例如 8000)的占用情况:
```bash
lsof -i:8000
```
输出结果会包含占用该端口的进程信息,如 PID、用户、命令等[^3]。
- 若要结束占用该端口的进程,可以结合 `kill` 命令:
```bash
kill -9 <PID>
```
其中 `<PID>` 是从 `lsof` 或其他命令中获得的目标进程编号。
#### 3. 使用 `ss` 命令
`ss`(Socket Statistics)是另一个强大的网络工具,功能类似于 `netstat`,但在某些情况下性能更好。
- 查看所有监听的 TCP 和 UDP 端口及对应进程:
```bash
ss -tnlp
ss -unlp
```
参数解释:
- `-t`:显示 TCP 端口。
- `-u`:显示 UDP 端口。
- `-n`:不解析服务名称。
- `-l`:仅显示监听状态的套接字。
- `-p`:显示与每个连接关联的进程 ID 和程序名称[^1]。
- 搜索特定端口(例如 8080):
```bash
ss -tnlp | grep 8080
```
---
### 总结
以上三种方式都可以有效地帮助用户找到 Linux 系统中被占用的端口及相关联的进程信息。其中,`netstat` 更加传统;`lsof` 提供了灵活的文件视角;而现代推荐使用 `ss` 替代部分 `netstat` 功能,因为它具有更高的执行效率。
---
阅读全文
相关推荐


















