Linux查看某端口是否被占用?
封面图
•
2025-11-23
•
Linux
221
0
0
0
在 Linux 系统中,可以使用以下几种方法查看某个端口是否被占用: --- ### ✅ 方法一:使用 `netstat` 命令(推荐) ```bash sudo netstat -tuln | grep <端口号> ``` 例如,查看 8080 端口是否被占用: ```bash sudo netstat -tuln | grep 8080 ``` - `-t`:显示 TCP 连接 - `-u`:显示 UDP 连接 - `-l`:仅显示监听(listening)的端口 - `-n`:以数字形式显示地址和端口(不进行 DNS 解析) --- ### ✅ 方法二:使用 `lsof` 命令(推荐) ```bash sudo lsof -i :<端口号> ``` 例如,查看 8080 端口: ```bash sudo lsof -i :8080 ``` 输出示例: ``` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 12345 user 19u IPv6 12345 0t0 TCP *:8080 (LISTEN) ``` - `COMMAND`:进程名 - `PID`:进程 ID - `USER`:运行该进程的用户 - `FD`:文件描述符 - `TYPE`:协议类型(如 IPv4/IPv6) - `NAME`:端口信息 --- ### ✅ 方法三:使用 `ss` 命令(现代替代 `netstat`) ```bash sudo ss -tuln | grep <端口号> ``` 例如: ```bash sudo ss -tuln | grep 8080 ``` - `-t`:TCP 协议 - `-u`:UDP 协议 - `-l`:监听状态 - `-n`:不解析服务名称 --- ### ✅ 方法四:查看特定进程占用的端口(反向查询) 如果你知道进程的 PID,可以使用以下命令查看它占用了哪些端口: ```bash sudo lsof -p <PID> ``` 或者: ```bash sudo ss -plnt | grep <PID> ``` --- ### 📌 小提示 - 如果你没有权限执行这些命令,可能需要加上 `sudo`。 - 如果系统中没有安装 `lsof` 或 `netstat`,可以通过包管理器安装: - Debian/Ubuntu:`sudo apt install lsof net-tools` - CentOS/RHEL:`sudo yum install lsof net-tools` --- 如果你告诉我具体是哪个端口,我可以帮你直接查一下!
上一篇:
请简述Linux/BSD系统下进程间通讯的方式有哪些,并具体说明在PHP下如何实现
下一篇:
Linux打印文件第一行到第三行
标题录入,一次不能超过6条
留言
评论