EADDRINUSEEADDRINUSE — Adres już w użyciu
Określona kombinacja adresu sieciowego i portu jest już zajęta przez inne gniazdo.
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 3000Powiązane kody błędów
E2BIGE2BIG — Lista Argumentów Za Długa
Łączny rozmiar listy argumentów i zmiennych środowiskowych przekazanych do exec() przekracza limit systemowy.
EFAULTEFAULT — Nieprawidłowy Adres
Do wywołania systemowego przekazano nieprawidłowy adres pamięci jako argument.
EEXISTEEXIST — Plik Istnieje
Operacja tworzenia pliku nie powiodła się, ponieważ plik o podanej nazwie już istnieje.
SIGUSR1 (10)SIGUSR1 (10) — Sygnał użytkownika 1
Sygnał zdefiniowany przez użytkownika, przeznaczony do celów aplikacyjnych. Domyślną akcją jest zakończenie procesu.
Exit 139Exit 139 — Zakończony przez SIGSEGV
Proces uległ awarii z powodu naruszenia ochrony pamięci (sygnał 11).
EACCESEACCES — Odmowa Dostępu
Żądany dostęp do pliku lub zasobu nie jest dozwolony przez uprawnienia do pliku.