Разработчикам

Порт 5000 или 7000 занят на Mac: «Ресивер AirPlay»

Apple указывает TCP-порты 5000 и 7000 для AirPlay. Когда «Ресивер AirPlay» включён, сервер разработки не может использовать эти порты.

Относится к: macOS 12 Monterey и новее. Настройка находится в разделе «Основные» > «AirDrop и Handoff», в новых версиях — «AirDrop и Непрерывность».Проверено: 29 октября 2026 г.

Симптомы

  • Flask или другой сервер разработки на порту 5000 останавливается с ошибкой “address already in use”.
  • lsof показывает ControlCenter на порту 5000 или 7000.
  • curl localhost:5000 возвращает ответ, который пришёл не от вашего приложения.

Вероятные причины

  • «Ресивер AirPlay». «Ресивер AirPlay» позволяет другим устройствам Apple транслировать контент на Mac. Apple указывает порты 5000 и 7000 для AirPlay.
  • Другой сервер. Если процесс — не ControlCenter, порт занимает другое приложение. См. Порт уже занят на Mac.

Как проверить

  1. Найдите процесс на порту 5000.

    lsof -nP -iTCP:5000 -sTCP:LISTEN

    Вывод Строка с ControlCenter в столбце COMMAND означает «Ресивер AirPlay».

  2. Найдите процесс на порту 7000.

    lsof -nP -iTCP:7000 -sTCP:LISTEN

Как исправить

  1. Проще всего перенести сервер разработки на другой порт, например 5001 или 8000.

  2. Чтобы освободить порты, выберите меню Apple > «Системные настройки» > «Основные» > «AirDrop и Handoff». В новых версиях раздел называется «AirDrop и Непрерывность».

  3. Выключите «Ресивер AirPlay».

  4. В macOS 12 настройка находится в «Системные настройки» > «Общий доступ» > «Ресивер AirPlay».

  5. Снова запустите lsof и убедитесь, что порт свободен.

    lsof -nP -iTCP:5000 -sTCP:LISTEN

Вопросы

Можно ли оставить «Ресивер AirPlay» включённым?

Да. Запустите сервер на другом порту. Выключать «Ресивер AirPlay» нужно, только если приложению обязательно нужен порт 5000 или 7000.

Почему на Linux сервер работает на порту 5000?

«Ресивер AirPlay» — функция macOS. Другие системы не используют этот порт для неё.

Источники

Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.