在 Ubuntu 上查看 80 端口占用情况,最常用且高效的命令是 ss(推荐)或 netstat(旧版系统可用)。以下是完整步骤:
方法一:使用 ss(推荐,Ubuntu 默认安装)
bash
sudo ss -tulnp | grep ':80'
解释:
- sudo:需要管理员权限查看进程名
- -t:显示 TCP 套接字
- -u:显示 UDP 套接字
- -l:显示监听(LISTEN)状态的端口
- -n:显示数字端口(不解析服务名)
- -p:显示占用端口的 进程名和 PID
示例输出:
bash
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1234,fd=3))
表示 nginx 进程(PID 1234) 占用了 80 端口。
方法二:使用 netstat(可能需安装)
bash
sudo netstat -tulnp | grep ':80'
如果提示未安装:sudo apt install net-tools
输出类似:
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1234/nginx
方法三:使用 lsof(更详细)
bash
sudo lsof -i :80
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 6u IPv4 12345 0t0 TCP *:http (LISTEN)
补充:如果 80 端口被占用,想释放它?
- 找到 PID(比如 1234)
- 杀死进程:
bash
sudo kill 1234或强制杀死:
bashsudo kill -9 1234
小贴士:检查是否被系统服务占用
bash
sudo systemctl list-units | grep 80
或查看常见服务:
bash
sudo systemctl status nginx
sudo systemctl status apache2
sudo systemctl status httpd
总结命令(一行搞定):
bash
sudo ss -tulnp | grep ':80' || echo "80 端口未被占用"
如有输出 → 被占用;无输出 → 可用。