欢迎您访问新疆栾骏商贸有限公司,公司主营电子五金轴承产品批发业务!
全国咨询热线: 400-8878-609

新闻资讯

技术学院

mac怎么查看端口占用_MAC终端查看端口占用与杀进程【技巧】

作者:穿越時空2026-01-03 00:00:00
Mac端口被占时,可用lsof精准查PID、netstat全局扫描、网络实用工具图形化检测、活动监视器交叉验证,再用kill -9释放端口。

如果您在Mac上运行服务时遇到“端口已被占用”或“Address already in use”错误,说明该端口正被其他进程监听。以下是多种可靠方法,用于准确识别并释放被占用的端口。

一、使用lsof命令精确查询指定端口占用

lsof(List Open Files)是macOS原生工具,将网络端口视为打开的文件资源,可直接显示占用目标端口的进程名、PID、用户及协议类型,结果精准且无需安装额外组件。

1、按下 Command + 空格 打开聚焦搜索,输入“终端”并回车启动。

2、输入以下命令,将端口号替换为实际数字(例如8080):
sudo lsof -i :端口号

3、若端口被占用,输出中将显示COMMAND(进程名)、PID(进程ID)、USER(所属用户)三列关键信息。

4、为提升查询效率并避免DNS解析延迟,推荐使用增强参数:
lsof -P -n -i :端口号

二、使用netstat命令扫描所有监听中的TCP端口

netstat提供系统级网络连接快照,适合在未知具体端口号时全局排查所有处于LISTEN状态的端口,尤其适用于调试本地开发服务器冲突场景。

1、在终端中执行:
sudo netstat -anvp tcp | grep LISTEN

2、逐行检查输出中的Local Address列,定位含目标端口号的条目(如 *:3000 或 127.0.0.1:3000)。

3、记录对应行末尾的PID/Program name字段中的数字,即为占用进程ID。

4、进一步确认该PID对应的程序全名,执行:
ps -p PID -o comm=(将PID替换为实际数值)

三、通过网络实用工具进行图形化端口扫描

macOS内置的“网络实用工具”提供免命令行的可视化界面,可扫描本机所有开放的TCP端口及其状态,适合不熟悉终端操作的用户快速获取端口开放概览。

1、点击屏幕左上角苹果图标,选择关于本机

2、在弹出窗口中点击系统报告按钮。

3、在系统报告左侧边栏底部诊断区域中,点击网络实用工具

4、在打开的窗口中切换至端口扫描标签页。

5、在输入框中填入本机IP地址(可通过系统设置 > 网络查看当前连接的IPv4地址)。

6、点击扫描按钮,工具将列出所有开放TCP端口及对应状态(open/closed)。

四、使用活动监视器交叉验证并终止可疑进程

活动监视器虽不直接显示端口绑定关系,但可通过实时网络吞吐量排序与PID反查,辅助判断高流量进程是否正在监听端口,降低误杀系统关键进程的风险。

1、打开“应用程序 > 实用工具 > 活动监视器”。

2、点击顶部网络标签页,按发送字节接收字节列排序,识别持续高网络活动的进程。

3、选中该进程,点击右上角信息按钮(i 图标),查看其完整路径、启动参数及打开的文件列表。

4、返回终端,执行:
lsof -i -P -n -sTCP:LISTEN | grep 进程名,交叉验证其是否确实在监听端口。

五、终止占用端口的进程并释放资源

在通过前述任一方法获得占用端口的进程PID后,可采用命令行或图形界面方式强制结束该进程,从而立即释放端口供新服务使用。

1、在终端中输入以下命令,将PID替换为实际进程号:
sudo kill -9 PID

2、执行后无提示即表示命令已提交,等待系统响应。

3、重新运行lsof -i :端口号命令,确认输出为空,表明端口已无进程占用。

4、若需一次性终止所有占用某端口的进程(如多个子进程),可使用组合命令:
lsof -P | grep ':端口号' | awk '{print $2}' | xargs kill -9(请将“端口号”替换为实际数字)