Przejdź do treści
Błędy Linux/POSIXBłąd
EADDRINUSE

EADDRINUSE — Adres już w użyciu

Określona kombinacja adresu sieciowego i portu jest już zajęta przez inne gniazdo.

linuxmacosunix

Co powoduje ten błąd

Inny proces nasłuchuje już na żądanym porcie. Często zdarza się przy restarcie serwera, gdy poprzednie gniazdo może być w stanie TIME_WAIT.

Jak to naprawić

Użyj opcji gniazda SO_REUSEADDR, aby zezwolić na powiązanie z adresami w stanie TIME_WAIT. Znajdź proces używający portu za pomocą ss -tlnp lub lsof -i :PORT.

Przykład

# Find process using port 3000
lsof -i :3000
# Or with ss
ss -tlnp | grep 3000
Oficjalna dokumentacja

Powiązane kody błędów