使用lsof命令可查看Mac端口占用情况,如lsof -i :8080检查指定端口,结合-iTCP或-iUDP查看协议端口,用kill -9 PID结束进程,有效解决端口冲突问题。

在Mac上查看端口是否被占用,最常用的方法是使用终端中的 lsof 命令。这个命令可以列出当前系统中打开的文件和网络连接,由于在Unix系统中“一切皆文件”,网络端口也被视为一种打开的文件,因此可以用它来检查端口占用情况。
1. 检查指定端口是否被占用
如果你想查看某个特定端口(比如 8080)是否被占用,可以在终端中运行以下命令:
lsof -i :8080说明:
- lsof:列出打开的文件(List Open Files)
- -i:用于显示网络连接
- :8080:表示查询使用 8080 端口的服务
如果该端口被占用,终端会显示占用进程的 PID、用户、协议、状态等信息。如果没有输出,则说明端口未被占用。
2. 结束占用端口的进程
如果发现端口被占用,并希望释放它,可以根据上一步查到的 PID(进程ID)来结束进程。例如,如果 PID 是 12345:
kill -9 12345这会强制终止该进程,请确保该进程不是系统关键服务。
3. 查看所有监听中的端口
如果你想查看当前系统中所有正在监听的网络端口:
lsof -iTCP -sTCP:LISTEN这条命令会列出所有处于监听状态的 TCP 端口及其对应的程序和 PID。
4. 查看某一类型协议的端口使用情况
你也可以筛选特定协议,如只查看 UDP 或 TCP 的使用情况:
- TCP: lsof -iTCP
- UDP: lsof -iUDP
结合 grep 可以进一步过滤结果,例如:
lsof -iTCP | grep :443用于查看是否有程序在使用 HTTPS 的默认端口 443。
基本上就这些。熟练使用 lsof 命令,能快速定位 Mac 上端口冲突问题,尤其在开发调试服务时非常实用。










