首先通过lsof命令查看端口占用情况,使用sudo lsof -i :端口号查找指定端口的PID;若不确定端口,可用sudo lsof -i -P -n | grep LISTEN列出所有监听端口;也可通过系统报告中的网络工具扫描开放端口;确认PID后,使用sudo kill -9 PID终止进程,释放端口。

如果您尝试在Mac上启动某个网络服务,但系统提示端口已被占用,则需要找出是哪个进程占用了该端口。以下是解决此问题的步骤:
本文运行环境:MacBook Pro,macOS Sonoma
通过 lsof 命令可以列出所有打开的网络连接和文件,结合网络选项可精确查询指定端口的占用情况,包括进程名称和PID。
1、打开“应用程序” -> “实用工具” -> “终端”,或使用 Spotlight 搜索“终端”并打开。
2、输入以下命令并按回车执行,将 端口号 替换为您要查询的实际端口号:
sudo lsof -i :端口号
例如,要查看 8080 端口的占用情况,应输入:sudo lsof -i :8080。
3、在输出结果中,找到对应端口的行,记录下 PID(进程ID)列的数字。
如果不确定具体是哪个端口被占用,可以通过此方法列出系统中所有处于监听状态的网络端口,便于全面排查。
1、在终端中输入以下命令并按回车执行:
sudo lsof -i -P -n | grep LISTEN
2、命令执行后会输出所有正在监听的TCP端口信息,包含协议、本地地址、状态以及对应的进程和PID。
3、从输出列表中查找您关心的服务所使用的端口,并记下其PID以便后续操作。
macOS 提供了图形化的网络诊断工具,可通过“系统报告”访问,适合不熟悉命令行的用户进行端口扫描。
1、点击屏幕左上角的苹果菜单 ,选择“关于本机”。
2、在弹出的窗口中点击“系统报告”按钮。
3、在系统报告左侧边栏中,于“硬件”或“网络”类别下找到并点击“网络”。
4、在右侧详情中,虽然不直接显示进程PID,但可通过“端口扫描”功能输入本机IP地址,扫描并列出当前开放的端口。
在确定了占用端口的进程PID后,可以使用 kill 命令强制结束该进程,从而释放端口资源。
1、确保您已通过前述方法获取到目标进程的PID。
2、在终端中输入以下命令并按回车执行,将 PID 替换为实际的进程ID:
sudo kill -9 PID
例如,若PID为 12345,则输入:sudo kill -9 12345。
3、执行后,可再次使用 lsof 命令验证该端口是否已不再被占用。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号