linux下常用命令查看端口占用
封面图
•
2025-10-23
•
Linux
186
0
0
0
在 Linux 系统中,如果你想要查看某个端口是否被占用,或者找出哪个进程占用了某个端口,可以使用以下常用命令: --- ### 1. **`lsof` 命令(List Open Files)** ```bash sudo lsof -i :端口号 ``` 例如,查看 8080 端口被哪个进程占用: ```bash sudo lsof -i :8080 ``` 输出示例: ``` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 12345 user 20u IPv6 12345 0t0 TCP *:8080 (LISTEN) ``` - `COMMAND`:进程名称 - `PID`:进程 ID - `USER`:运行该进程的用户 --- ### 2. **`netstat` 命令(Network Statistics)** ```bash sudo netstat -tulnp | grep 端口号 ``` 例如,查看 8080 端口: ```bash sudo netstat -tulnp | grep 8080 ``` 输出示例: ``` tcp6 0 0 :::8080 :::* LISTEN 12345/node ``` - `-t`:显示 TCP 连接 - `-u`:显示 UDP 连接 - `-l`:只显示监听中的端口 - `-n`:以数字形式显示地址和端口 - `-p`:显示进程信息(需要 root 权限) > 注意:`netstat` 在较新的 Linux 发行版中可能已经被 `ss` 取代。 --- ### 3. **`ss` 命令(Socket Statistics)** 这是 `netstat` 的现代替代工具,速度更快。 ```bash sudo ss -tulnp | grep 端口号 ``` 例如: ```bash sudo ss -tulnp | grep 8080 ``` 输出示例: ``` tcp LISTEN 0 10 *:8080 *:* users:(("node",12345,20)) ``` --- ### 4. **查看所有端口占用情况** 如果你想查看所有正在监听的端口及其对应的进程: #### 使用 `lsof`: ```bash sudo lsof -i ``` #### 使用 `netstat`: ```bash sudo netstat -tulnp ``` #### 使用 `ss`: ```bash sudo ss -tulnp ``` --- ### 5. **杀死占用端口的进程** 如果找到占用端口的进程,可以用 `kill` 命令终止它: ```bash sudo kill -9 PID ``` 例如: ```bash sudo kill -9 12345 ``` --- ### 总结表格 | 命令 | 功能 | 是否推荐 | |------------|----------------------------------|----------| | `lsof` | 查看端口占用及进程信息 | ✅ 推荐 | | `netstat` | 查看网络连接、端口状态 | ⚠️ 逐渐淘汰 | | `ss` | 快速查看网络连接和端口占用 | ✅ 推荐 | --- 如有其他问题,比如如何查找某个特定服务(如 Nginx、MySQL)的端口,也可以告诉我,我可以帮你具体分析。
上一篇:
linux网络配置诊断
下一篇:
SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭
标题录入,一次不能超过6条
留言
评论