Znajdowanie procesu korzystającego z określonego portu w systemie Linux


139

Chciałbym móc dowiedzieć się, który proces korzysta obecnie z określonego portu w systemie Linux. Czy jest na to jakiś sposób?


3
W systemie Windows polecenie to: netstat -anb
djangofan,

Odpowiedzi:


144

Masz kilka opcji:

lsof -i tcp:80

da ci listę procesów korzystających z portu 80 TCP.

Alternatywnie,

sudo netstat -nlp

da ci wszystkie otwarte połączenia sieciowe.


2
lsof -i | grep {username}jest również bardzo przydatny, tj.lsof -i | grep apache
LawrenceC

1
Dla każdego, kto zastanawia się -n: nie rozwiązywać nazw,: -lwyświetlać gniazda serwera nasłuchującego,: -pwyświetlać PID / nazwę programu dla gniazd.
yellavon

Zwykle dodam -Pdo lsof -i tcp:$PORTNUMBERtego, aby port był drukowany z powrotem do mnie jako liczba.
js.


8

Używam „CentOS 7 minimalny”, który ma ani netstatani lsof. Ale wiele dystrybucji Linuksa ma polecenie statystyki gniazd (tj ss.).

Oto przykład wykonania:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

2

W systemie Linux, aby znaleźć proces działający na porcie, wykonaj następujące czynności:

lsof -i :<port_number>

przykład:

lsof -i :8080

Dziękuję za to, że próbowaliście pomóc. To polecenie zostało wymienione w zaakceptowanej odpowiedzi. Jeśli masz coś nowego, edytuj swój post.
Ben N
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.