---
title: "Mac 上的連接埠 5000 被占用：AirPlay 接收器與 ControlCenter · Kilobat 指南"
url: "https://kilobat.app/zh-hant/guides/airplay-receiver-port-5000.html"
description: "在 macOS 12 以上版本，AirPlay 接收器會監聽連接埠 5000 和 7000。用 lsof 找出它，再把開發伺服器換到其他連接埠，或關閉 AirPlay 接收器。"
---

開發者

# Mac 上的連接埠 5000 或 7000 被占用：AirPlay 接收器

Apple 將 TCP 連接埠 5000 和 7000 列為 AirPlay 使用的連接埠。AirPlay 接收器開啟時，開發伺服器就無法使用這兩個連接埠。

適用於：macOS 12 Monterey 以上版本。設定位於「一般」>「AirDrop 與接力」，較新版本則為「AirDrop 與接續互通」。 · 檢查日期：2026年10月29日

## 症狀

- 在連接埠 5000 上執行的 Flask 或其他開發伺服器停止，並顯示「address already in use」。
- `lsof` 在連接埠 5000 或 7000 上顯示 `ControlCenter`。
- `curl localhost:5000` 傳回的回應不是來自你的 App。

## 可能原因

- **AirPlay 接收器。**AirPlay 接收器讓其他 Apple 裝置可以串流到 Mac。Apple 將連接埠 5000 和 7000 列為 AirPlay 使用的連接埠。
- **其他伺服器。**如果處理程序不是 ControlCenter，就是有其他 App 在使用這個連接埠。請參閱[Mac 上的連接埠已被占用](https://kilobat.app/zh-hant/guides/port-already-in-use.html)。

## 如何檢查

1. 找出使用連接埠 5000 的處理程序。

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

   輸出COMMAND 欄位中出現 `ControlCenter` 的那一行，就表示是 AirPlay 接收器。
2. 找出使用連接埠 7000 的處理程序。

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

## 如何修正

1. 最簡單的做法是讓開發伺服器改用其他連接埠，例如 5001 或 8000。
2. 若要釋出這些連接埠，請選擇「蘋果」選單 >「系統設定」>「一般」>「AirDrop 與接力」。較新版本稱為「AirDrop 與接續互通」。
3. 關閉「AirPlay 接收器」。
4. 在 macOS 12 上，這個設定位於「系統偏好設定」>「共享」>「AirPlay 接收器」。
5. 再執行一次 lsof，確認連接埠已釋出。

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

## 常見問題

**可以讓 AirPlay 接收器保持開啟嗎？**

可以。把伺服器改到其他連接埠執行即可。只有在 App 必須使用連接埠 5000 或 7000 時，才需要關閉 AirPlay 接收器。

**為什麼伺服器在 Linux 上可以使用連接埠 5000？**

AirPlay 接收器是 macOS 的功能，其他系統不會為此占用這個連接埠。

## 資料來源

- [Apple 支援：Apple 軟體產品使用的 TCP 和 UDP 連接埠](https://support.apple.com/en-us/103229)
- [Apple 支援：在 Mac 上更改「AirDrop 與接續互通」設定](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-hant/guides/port-already-in-use.html): 同一個 TCP 連接埠和位址只能有一個處理程序在監聽。
- [無法從 Mac 連到 Docker 容器](https://kilobat.app/zh-hant/guides/docker-container-from-mac.html): Mac 上的 Docker 會在 Linux 虛擬機器中執行容器。
- [容器無法連到 Mac 上的 localhost](https://kilobat.app/zh-hant/guides/localhost-from-container.html): 每個容器都有自己的網路堆疊。
- [App 找不到區域網路上的裝置](https://kilobat.app/zh-hant/guides/local-network-permission.html): macOS 15 Sequoia 以上版本會在 App 連接區域網路上的裝置前先詢問你。
