Suchen des Prozesses, der unter Linux einen bestimmten Port verwendet


139

Ich möchte in der Lage sein, herauszufinden, welcher Prozess derzeit einen bestimmten Port in Linux verwendet. Gibt es eine Möglichkeit, dies zu tun?


3
Unter Windows lautet der Befehl: netstat -anb
djangofan

Antworten:


144

Sie haben mehrere Möglichkeiten:

lsof -i tcp:80

Zeigt die Liste der Prozesse an, die TCP-Port 80 verwenden.

Alternative,

sudo netstat -nlp

gibt Ihnen alle offenen Netzwerkverbindungen.


2
lsof -i | grep {username}ist auch sehr nützlich, dhlsof -i | grep apache
LawrenceC

1
Für alle, die sich fragen -n: Namen nicht auflösen -l,: Listening-Server-Sockets -panzeigen,: PID- / Programmnamen für Sockets anzeigen.
Yellavon

Normalerweise füge ich hinzu -P, lsof -i tcp:$PORTNUMBERdamit der Port als Nummer an mich zurückgedruckt wird.
js.

9
netstat -lp

4
Auf Mac muss -p um eine Protokolloption erweitert werden. also so etwas wie: netstat -lp tcp.
Vrish88

8

Ich verwende "CentOS 7 minimal", was netstatweder noch hat lsof. Viele Linux-Distributionen haben jedoch den Befehl socket statistics (dh ss).

Hier ist ein Beispiel für die Ausführung:

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

2

Gehen Sie unter Linux wie folgt vor, um einen Prozess zu finden, der auf einem Port ausgeführt wird:

lsof -i :<port_number>

Beispiel:

lsof -i :8080

Danke, dass du versucht hast zu helfen. Dieser Befehl wurde in der akzeptierten Antwort erwähnt. Wenn Sie etwas Neues haben, bearbeiten Sie bitte Ihren Beitrag.
Ben N
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.