W jakich scenariuszach port używany przez proces nie pojawia się w netstat -a
danych wyjściowych.
Pracuję jenkins
na moim komputerze. Nasłuchuje na porcie 8080. Próbuję uruchomić inny proces, który próbuje połączyć się z tym samym portem i kończy się niepowodzeniem z błędem, że port jest już w użyciu.
Teraz, gdy to robię netstat -a | grep 8080
, nie pojawia się w wynikach. Po zatrzymaniu jenkins
procesu powiodło się powiązanie z 8080. Jakieś wskazówki, co się dzieje?
Używam CentOS.
netstat -lp
, pokazując procesy , które nasłuchują .netstat -an | grep 8080
, w przypadku gdy 8080 znajduje się w twoim/etc/services
pliku i jest zastępowany jego symboliczną nazwą.lsof -i :8080
Odpowiedzi:
Właśnie miałem podobny przypadek na Ubuntu 14.04. Rzeczywiście domyślny port Jenkins (8080) jest odwzorowany na nazwę „http-alt” w / etc / services. Możesz to łatwo sprawdzić za pomocą
Oprócz netstat możesz rozważyć użycie ss
lub
źródło
Jeśli wszystko działa poprawnie, nigdy. Jak wspomniano powyżej, numer portu można zastąpić nazwą usługi wymienioną w sekcji
/etc/services
.Użycie
netstat -na
zapewnia, że porty serwisowe nie są tłumaczone na nazwy usług.źródło
Zawsze używam:
W ten sposób niczego nie umknie.
źródło