Développeurs
Port déjà utilisé sur un Mac
Un seul processus peut écouter sur un même port et une même adresse TCP. Un second serveur s’arrête alors avec « address already in use ».
Symptômes
- Un serveur de développement s’arrête avec « EADDRINUSE » ou « address already in use ».
- Docker ne peut pas publier un port parce que « port is already allocated ».
- Le port était libre avant un plantage ou un redémarrage de votre éditeur.
Causes probables
- Une ancienne copie de votre serveur. Un serveur lancé lors d’une exécution précédente tourne encore en arrière-plan.
- Une autre app. Une autre app utilise le même port. Sur macOS 12 et versions ultérieures, Récepteur AirPlay utilise les ports 5000 et 7000.
- Un conteneur. Un conteneur en cours d’exécution publie le même port sur le Mac.
Comment vérifier
Trouvez le processus qui écoute sur le port. Remplacez 3000 par votre port.
lsof -nP -iTCP:3000 -sTCP:LISTENRésultat Les colonnes COMMAND et PID indiquent le processus.
Pour voir les processus des autres utilisateurs, lancez la même commande avec sudo.
sudo lsof -nP -iTCP:3000 -sTCP:LISTENNécessite un mot de passe administrateur.
Affichez plus d’informations sur le processus.
ps -p 12345 -o pid,commandCherchez les conteneurs qui publient le port.
docker ps
Comment corriger
Si le processus est le vôtre, arrêtez-le dans sa propre fenêtre de Terminal avec Contrôle-C.
Sinon, envoyez-lui le signal de fin (terminate). Utilisez son PID.
kill 12345S’il ne s’arrête pas, utilisez
kill -9. Le processus ne peut alors pas enregistrer ses données.Si le processus appartient à macOS, ne l’arrêtez pas. Choisissez un autre port pour votre serveur.
Si le port est 5000 ou 7000, lisez Port 5000 ou 7000 utilisé sur un Mac : Récepteur AirPlay.
Avec Kilobat
Listez les sockets ouverts d’un processus.
kilobat destinations --pid 12345Quittez un processus par son PID. N’ajoutez
--forceque s’il ne s’arrête pas.kilobat quit 12345
Questions
Pourquoi lsof n’affiche-t-il rien alors que le port est utilisé ?
lsof n’affiche que les processus que vous avez le droit d’examiner. Lancez-le avec sudo pour voir tous les processus.
À quoi servent -n et -P ?
Ils empêchent lsof de convertir les adresses en noms et les ports en noms de service. La sortie est plus rapide et affiche des numéros.
Sources
- lsof(8), page man installée avec macOS 27.2
- kill(1) et ps(1), pages man installées avec macOS 27.2
- Assistance Apple : Ports TCP et UDP utilisés par les produits logiciels Apple
Sources vérifiées le 29 octobre 2026. Les pages man sont celles installées avec macOS ; ouvrez-en une avec man <name> dans Terminal.