Trovare il processo che utilizza una determinata porta in Linux


139

Mi piacerebbe essere in grado di scoprire quale processo sta attualmente utilizzando una determinata porta in Linux. C'è un modo per fare questo?


3
Su Windows, il comando è: netstat -anb
djangofan l'

Risposte:


144

Hai un paio di opzioni:

lsof -i tcp:80

ti darà la lista dei processi usando la porta tcp 80.

In alternativa,

sudo netstat -nlp

ti darà tutte le connessioni di rete aperte.


2
lsof -i | grep {username}è anche molto utile, cioèlsof -i | grep apache
LawrenceC

1
Per chiunque si chieda -n: non risolvere i nomi,: -lvisualizzare i socket del server di ascolto,: -pvisualizzare il nome PID / Programma per i socket.
yellavon,

Di solito aggiungo -Pin lsof -i tcp:$PORTNUMBERmodo che la porta mi venga stampata come numero.
js.

9
netstat -lp

4
su mac devi aggiungere un'opzione di protocollo a -p. quindi qualcosa come: netstat -lp tcp.
vrish88,

8

Sto usando "CentOS 7 minimal" che non ha né netstatnessuno dei due lsof. Ma molte distribuzioni di Linux hanno il comando statistiche socket (cioè ss).

Ecco un esempio di esecuzione:

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

2

In Linux, per trovare un processo in esecuzione su una porta, procedere come segue:

lsof -i :<port_number>

esempio:

lsof -i :8080

Grazie per aver cercato di aiutare. Questo comando è stato menzionato nella risposta accettata. Se hai qualcosa di nuovo, modifica il tuo post.
Ben N
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.