---
title: "Mac 上端口 5000 被占用：隔空播放接收器与 ControlCenter · Kilobat 指南"
url: "https://kilobat.app/zh-hans/guides/airplay-receiver-port-5000.html"
description: "在 macOS 12 及更高版本中，隔空播放接收器会监听 5000 和 7000 端口。用 lsof 找到它，然后给开发服务器换个端口，或者关闭隔空播放接收器。"
---

开发者

# Mac 上端口 5000 或 7000 被占用：隔空播放接收器

Apple 将 TCP 端口 5000 和 7000 列为隔空播放使用的端口。隔空播放接收器打开时，开发服务器无法使用这两个端口。

适用于：macOS 12 Monterey 及更高版本。该设置位于“通用”>“隔空投送与接力”，较新版本中为“隔空投送与连续互通”。 · 核查日期：2026年10月29日

## 症状

- Flask 或其他开发服务器在端口 5000 上启动失败，提示“address already in use”。
- `lsof` 显示端口 5000 或 7000 上的进程是 `ControlCenter`。
- `curl localhost:5000` 返回的响应并非来自正在开发的 App。

## 可能的原因

- **隔空播放接收器。**隔空播放接收器可让其他 Apple 设备向这台 Mac 串流内容。Apple 将端口 5000 和 7000 列为隔空播放使用的端口。
- **其他服务器。**如果进程不是 ControlCenter，说明是其他 App 占用了该端口。请参阅[Mac 上端口已被占用](https://kilobat.app/zh-hans/guides/port-already-in-use.html)。

## 如何检查

1. 查找占用端口 5000 的进程。

   ```
   lsof -nP -iTCP:5000 -sTCP:LISTEN
   ```

   输出 COMMAND 列中出现 `ControlCenter` 的行即表示隔空播放接收器。
2. 查找占用端口 7000 的进程。

   ```
   lsof -nP -iTCP:7000 -sTCP:LISTEN
   ```

## 如何修复

1. 最简单的办法是让开发服务器改用其他端口，例如 5001 或 8000。
2. 要释放这些端口，请选取苹果菜单 >“系统设置”>“通用”>“隔空投送与接力”。较新版本中名为“隔空投送与连续互通”。
3. 关闭“隔空播放接收器”。
4. 在 macOS 12 中，该设置位于“系统偏好设置”>“共享”>“隔空播放接收器”。
5. 再次运行 lsof，确认端口已空闲。

   ```
   lsof -nP -iTCP:5000 -sTCP:LISTEN
   ```

## 常见问题

**可以保持隔空播放接收器开启吗？**

可以。让服务器改用其他端口即可。只有当 App 必须使用端口 5000 或 7000 时，才需要关闭隔空播放接收器。

**为什么同一个服务器在 Linux 上能用端口 5000？**

隔空播放接收器是 macOS 的功能，其他系统不会为它占用这个端口。

## 参考资料

- [Apple 支持：Apple 软件产品所使用的 TCP 和 UDP 端口](https://support.apple.com/en-us/103229)
- [Apple 支持：在 Mac 上更改“隔空投送与连续互通”设置](https://support.apple.com/guide/mac-help/mchl6a407f99/mac)
- lsof(8)，macOS 27.2 自带的 man 手册页

参考资料核查于 2026年10月29日。man 手册页为 macOS 自带版本；在“终端”中用 `man <name>` 打开。

## 相关指南

- [Mac 上端口已被占用](https://kilobat.app/zh-hans/guides/port-already-in-use.html): 一个 TCP 端口和地址只能由一个进程监听。
- [无法从 Mac 访问 Docker 容器](https://kilobat.app/zh-hans/guides/docker-container-from-mac.html): Mac 上的 Docker 在 Linux 虚拟机中运行容器。
- [容器无法访问 Mac 上的 localhost](https://kilobat.app/zh-hans/guides/localhost-from-container.html): 每个容器都有自己的网络栈。
- [App 找不到本地网络上的设备](https://kilobat.app/zh-hans/guides/local-network-permission.html): macOS 15 Sequoia 及更高版本会在 App 连接本地网络设备前先征求许可。
