在 macOS 中查看端口占用情况可以通过以下几种方法实现:
lsof
命令(推荐)# 查看所有监听端口及对应进程
sudo lsof -i -P | grep LISTEN
# 查看指定端口(如 8080)的占用情况
sudo lsof -i :8080
输出示例:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Python 1234 user 3u IPv4 0xabcd... 0t0 TCP *:8080 (LISTEN)
COMMAND
=进程名,PID
=进程ID,USER
=运行用户,NAME
=端口及协议。netstat
命令# 查看所有监听端口(需先安装 netstat)
netstat -anv | grep LISTEN
# 或使用 macOS 自带的替代命令
netstat -p tcp -an | grep LISTEN
nmap
扫描本地端口# 安装 nmap(若未安装)
brew install nmap
# 扫描本地开放端口
nmap -sT -O 127.0.0.1
# 通过 PID 终止进程(如 PID=1234)
sudo kill -9 1234
# 强制终止所有占用某端口的进程(如 8080)
sudo kill -9 $(lsof -t -i :8080)
sudo
提升权限。LISTEN
表示监听中,ESTABLISHED
表示已连接。tcp6
或 udp6
。选择适合你的方法即可快速定位并解决端口冲突问题!