#Что означает сообщение
Address already in use :5000
В macOS Monterey и новее порт 5000 может занимать AirPlay Receiver. Отключите его в «Общий доступ» или смените порт приложения.
#Причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| AirPlay Receiver | lsof показывает системный AirPlay Receiver | Изменить порт приложения или отключить приёмник по согласованию |
| Другой процесс | Порт занят другим рабочим процессом | Использовать свободный порт |
| Застрявший процесс | Остался второй экземпляр своего сервера | Штатно завершить лишний экземпляр |
| Docker | Порт опубликован контейнером | Проверить порты Docker Compose |
#Пошаговое решение
- Узнайте, кто слушает порт 5000Откройте «Терминал» macOS и выполните
lsof -nP -iTCP:5000 -sTCP:LISTEN. Вывод содержит имя процесса и PID; если таблица пустая, проверьте, точно ли ваше приложение пытается использовать порт 5000 и правильный ли сетевой адрес. Не завершайте системные процессы вслепую черезkill -9, особенно если прослушивание связано с macOS. - Для своего приложения сначала измените портЕсли вы запускаете Flask, Vite или собственный сервер разработки, найдите параметр порта в его настройках и временно назначьте свободный, например 5001; для Flask возможен запуск
flask run --port 5001, если используется именно Flask CLI. Откройтеhttp://127.0.0.1:5001и проверьте ответ. Такой вариант безопаснее отключения системных функций и не требует прав администратора. - Если нужен именно 5000, проверьте Приёмник AirPlayНа macOS Monterey и более новых версиях порт может занимать «Приёмник AirPlay». В «Системных настройках» найдите «Основные» → «Общий доступ» → «Приёмник AirPlay» (на старых выпусках путь может отличаться); временно отключайте его только если знаете, что он действительно занимает порт и функция вам не нужна. Это перестанет позволять принимать трансляции AirPlay на Mac. Снова выполните
lsofи убедитесь, что порт освобождён. - Перезапустите приложение и проверьте фактический адресПовторите запуск своего сервера и убедитесь, что ошибка
Address already in useисчезла. Посмотрите адрес в журнале приложения и откройте его локально в браузере. Если порт вновь занят, сверяйте PID с командойlsof, ищите второй экземпляр того же приложения или контейнер с пробросом порта; не отключайте всё сетевое окружение ради одной ошибки.
#На что обратить внимание
Не завершайте неизвестный процесс принудительно и не отключайте брандмауэр. После смены порта обновите адрес обращения и настройки локального прокси разработчика.
Linux · Терминал (Bash)Команда
Поиск процесса на порту.
lsof -i :5000