温馨提示×

如何查看进程占用端口

小樊
38
2026-10-09 11:13:19
栏目: 编程语言

查看进程占用的端口(或端口被哪个进程占用),不同系统方法如下:


一、Linux / macOS

1. 使用 lsof(最常用)

# 查看某个端口被谁占用(如 8080)
lsof -i :8080

# 查看所有网络连接及进程
lsof -i

# 查看某进程打开的端口
lsof -p <PID>

2. 使用 netstat

netstat -tunlp | grep 8080

参数说明:

  • -t TCP
  • -u UDP
  • -n 不解析名称
  • -l 监听中
  • -p 显示进程

3. 使用 ss(推荐,替代 netstat)

ss -tunlp | grep 8080

二、Windows

1. 查看端口被谁占用

netstat -ano | findstr :8080

输出示例:

TCP    0.0.0.0:8080    0.0.0.0:0    LISTENING    1234

其中 1234 是 PID

2. 根据 PID 查进程名

tasklist | findstr 1234

3. 一键命令(PowerShell)

Get-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess

三、常见排错场景

  • 端口被占用但找不到进程
    → 可能是系统/服务占用,用 sudo 提权再查
  • 想杀掉占用端口的进程
    # Linux / macOS
    kill -9 <PID>
    
    # Windows
    taskkill /PID 1234 /F
    

如果你告诉我具体系统(Linux 发行版 / Windows 版本)或想查的端口号,我可以给你更精确的命令。

0 踩