首先通过lsof命令查询端口占用进程PID,再使用kill -9命令终止对应进程以释放端口,确保服务正常启动。

如果您在启动某个服务时发现端口已被占用,导致程序无法正常运行,则可能是有其他进程正在使用该端口。以下是解决此问题的步骤:
本文运行环境:MacBook Pro,macOS Sonoma
一、使用终端命令查看指定端口占用情况
通过系统内置的 lsof 命令可以查询特定端口被哪个进程占用,获取进程 PID 以便后续操作。
1、打开“应用程序”中的“终端”工具。
2、输入以下命令并回车执行:sudo lsof -i :端口号,将“端口号”替换为实际需要查询的数字,例如 sudo lsof -i :8080。
3、查看返回结果中的 PID 列,记录下占用该端口的进程 ID。
二、使用网络实用工具扫描开放端口
利用 macOS 自带的“网络实用工具”进行端口扫描,可直观查看本机开放的 TCP 端口状态。
1、点击屏幕左上角苹果标志,选择“关于本机”。
2、点击“系统报告”,在弹出窗口中选择菜单栏的“窗口”选项。
3、从下拉菜单中选择“网络实用工具”,打开后切换到“端口扫描”标签页。
4、输入本机 IP 地址(可通过“系统设置”>“网络”查看),点击“扫描”按钮。
5、扫描完成后,列表将显示当前处于开放状态的端口信息。
三、终止占用端口的进程
在获取到占用端口的进程 PID 后,可通过 kill 命令强制结束该进程以释放端口。
1、确保已通过方法一或方法二查得目标端口对应的 PID。
2、在终端中执行命令:sudo kill -9 PID,将“PID”替换为实际的进程编号,例如 sudo kill -9 12345。
3、执行成功后不会返回任何提示信息,可重新查询该端口确认是否已释放。










