Skip to content

查看端口占用情况

Windows 系统(CMD 或 PowerShell)

打开 命令提示符(以管理员身份运行)PowerShell

  • 查看指定端口是否被占用(推荐,最常用):

    netstat -aon | findstr ":端口号"
    
  • 查看所有端口占用情况

    netstat -ano
    
  • 解释输出

    • 如果看到 LISTENING 状态,且最后一列有 PID(进程ID),则端口被占用。

    • 没有输出或没有 LISTENING,则端口未被占用

  • 根据 PID 查看是哪个程序占用

    tasklist | findstr "PID号"
    
  • 结束占用进程(小心使用):

    taskkill /f /pid PID号
    

    taskkill /f /im 程序名.exe
    

Linux 系统

打开终端(推荐使用 sslsofnetstat 可能需要安装 net-tools)。

  • 使用 ss(现代 Linux 首选,速度快)

    ss -tuln | grep ":端口号"
    

    或查看所有监听端口:

    ss -tuln
    
  • 使用 lsof(最清晰,能直接看到进程名)

    sudo lsof -i :端口号
    
  • 传统方式:使用 netstat

    sudo netstat -tunlp | grep ":端口号"
    

    或查看所有监听端口:

    sudo netstat -tunlp
    
  • 解释输出

    • 如果有输出(显示 PID/Program name),则端口被占用。

    • 没有输出,则端口未被占用

  • 根据 PID 查看进程详情

    ps -ef | grep PID号
    
  • 结束占用进程

    sudo kill -9 PID号
    

部分注意事项

  • 端口号常见示例

    • 80(HTTP)

    • 443(HTTPS)

    • 8080(开发常用)

    • 3306(MySQL)

    • 3307(MariaDB)

    • 3308(PostgreSQL)

    • 3309(Oracle)

    • 3310(MongoDB)

  • 如果命令不存在

    • Linux:sudo apt install net-tools lsof(Debian/Ubuntu)