Puerto 5000 en uso en Mac: AirPlay, Flask y cómo liberarlo

El puerto 5000 lo usan el Receptor de AirPlay de macOS y el servidor de desarrollo de Flask. Esto es por qué chocan, si es seguro cerrarlo y cómo liberarlo.

El puerto 5000 es el conflicto clásico de macOS. Inicias una aplicación de Flask, falla porque el puerto ya está ocupado y juras que no iniciaste nada. En macOS moderno, no lo hiciste: es el propio sistema el que lo está usando.

Qué suele escuchar en el puerto 5000

  • Receptor de AirPlay (macOS Monterey y posteriores): El Receptor de AirPlay de Apple, parte del proceso ControlCenter, usa el puerto 5000 (y el 7000) para que tu Mac pueda recibir transmisiones de AirPlay. Viene activado por defecto.
  • Flask: El servidor de desarrollo de Flask usa el 5000 por defecto, que es justo por lo que el conflicto es tan común.
  • Rails antiguo y otras herramientas de desarrollo: Algunos frameworks también usan este puerto por defecto.

Así que un error de “puerto 5000 en uso” en una Mac suele ser AirPlay, no un servidor olvidado.

¿Es seguro terminarlo?

Depende de qué lo use. Si lsof muestra ControlCenter, eso es el Receptor de AirPlay, un proceso del sistema que no deberías forzar a cerrar. Desactiva la función en su lugar:

Ajustes del Sistema > General > AirDrop y Handoff > Receptor de AirPlay (desactívalo).

Eso libera el puerto 5000 en todo el sistema. Si lsof muestra tu propio proceso python o de Flask, terminarlo es perfectamente seguro.

¿Es sospechoso?

No. En macOS, el 5000 en uso casi siempre es el Receptor de AirPlay haciendo su trabajo. El único problema real es el choque con los servidores de desarrollo. Confirma el dueño antes de hacer cualquier cosa; el comando de abajo lo muestra.

Cómo encontrar y liberar el puerto 5000 en macOS

lsof -i :5000

Si es tu propio servidor de desarrollo:

kill -9 $(lsof -ti :5000)

Si es el Receptor de AirPlay, desactívalo en los ajustes en vez de terminar el proceso, o simplemente corre Flask en otro puerto:

flask run --port 5001

Para un recorrido más a fondo del caso del servidor de desarrollo, lee Puerto 5000 en uso en Mac. Portie hace que la pregunta de AirPlay contra tu servidor sea instantánea: muestra el puerto 5000 con la aplicación exacta que lo usa, así sabes de inmediato si debes desactivar AirPlay o terminar un proceso de Flask perdido.

Preguntas frecuentes

¿Por qué el puerto 5000 está en uso en mi Mac si no hay nada corriendo?

En macOS Monterey y versiones posteriores, el Receptor de AirPlay (parte del proceso ControlCenter) escucha en el puerto 5000 por defecto. Por eso Flask y otros servidores de desarrollo que usan el 5000 de repente fallan al iniciar.

¿Es seguro terminar lo que sea que esté en el puerto 5000?

Si es el Receptor de AirPlay, no fuerces el cierre de ControlCenter. En su lugar, desactiva el Receptor de AirPlay en Ajustes del Sistema > General > AirDrop y Handoff. Si es tu propio servidor de Flask, terminarlo es seguro.

¿Cómo libero el puerto 5000 para Flask?

Puedes desactivar el Receptor de AirPlay en los ajustes, o correr tu servidor de desarrollo en otro puerto, como el 5001. Desactivar AirPlay libera el 5000 en todo el sistema.

Prueba Portie gratis

Ve cada puerto abierto en tu Mac, qué app lo usa y cierra procesos desde la lista.

Descargar gratis