5A景区网站建设

ubuntu 如何查看 80 端口占用

在 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 端口被占用,想释放它?

  1. 找到 PID(比如 1234)
  2. 杀死进程:
    bash
    sudo kill 1234

    或强制杀死:

    bash
    sudo 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 端口未被占用"

如有输出 → 被占用;无输出 → 可用。

退出移动版