linux查看端口占用情况

如题所述

一、查看端口占用情况的常用命令:
1. 使用 `lsof -i 端口号` 来查看特定端口被哪个进程占用。
2. 使用 `netstat -tunlp | grep 端口号` 同样可以获取端口占用信息。
二、关于 `lsof -i` 命令的权限问题:
需要以 root 用户权限执行此命令,否则可能无法获取完整信息,如下图所示:
![lsof 权限提示](insert_image_here)
三、`netstat` 命令的详细使用:
- `netstat -tunlp` 用于展示当前系统中所有监听的 TCP、UDP 端口以及对应的进程信息。
- 查看特定端口占用情况的语法格式为:`netstat -tunlp | grep 端口号`。
四、`lsof` 命令的扩展使用:
1. 使用 `lsof -i:8080` 查看占用 8080 端口的进程。
2. 使用 `lsof abc.txt` 显示打开文件 `abc.txt` 的进程信息。
3. 使用 `lsof -c abc` 显示 `abc` 进程当前打开的文件。
4. 使用 `lsof -c -p 1234` 列出进程号为 1234 的进程所打开的文件。
5. 使用 `lsof -g gid` 显示属于指定组 ID (gid) 的进程情况。
6. 使用 `lsof +d /usr/local/` 显示目录下被进程开启的文件。
7. 使用 `lsof +D /usr/local/` 搜索目录及其子目录下被进程开启的文件,但可能需要较长时间。
8. 使用 `lsof -d 4` 显示使用文件描述符 (fd) 为 4 的进程。
9. 使用 `lsof -i -U` 显示所有打开的端口及 UNIX domain 文件的进程。
五、`netstat` 命令的扩展使用:
1. 使用 `netstat -ntlp` 查看当前所有监听的 TCP 端口。
2. 使用 `netstat -ntulp | grep 80` 查看所有 80 端口的使用情况。
3. 使用 `netstat -ntulp | grep 3306` 查看所有 3306 端口的使用情况。
六、关闭端口的操作:
1. 查找到端口占用的进程后,若要结束该进程,可以使用 `kill` 命令:`kill -9 PID`。
2. 例如,我们看到 8000 端口对应的进程 ID (PID) 为 26993,可以使用以下命令结束该进程:`kill -9 26993`。
温馨提示:答案为网友推荐,仅供参考
相似回答