Den Prozess finden, der einen bestimmten Port in Linux verwendet

144549
Evan Fosmark

Ich möchte herausfinden können, welcher Prozess gerade einen bestimmten Port in Linux verwendet. Gibt es eine Möglichkeit, dies zu tun?

131
Unter Windows lautet der Befehl: `netstat -anb` djangofan vor 14 Jahren 3

4 Antworten auf die Frage

134
nagul

Sie haben mehrere Möglichkeiten:

lsof -i tcp:80 

erhalten Sie eine Liste der Prozesse, die TCP-Port 80 verwenden.

Alternative,

sudo netstat -nlp 

gibt Ihnen alle offenen Netzwerkverbindungen.

lsof -i | grep `ist auch sehr nützlich, dh` lsof -i | grep apache` LawrenceC vor 12 Jahren 2
Für alle, die sich fragen, "-n": Namen nicht auflösen, "-l": Listening-Server-Sockets anzeigen, "-p": PID / Programmname für Sockets anzeigen. yellavon vor 9 Jahren 1
Normalerweise füge ich "-P" zu "lsof -i tcp: $ PORTNUMBER" hinzu, damit der Port als Nummer an mich zurückgegeben wird. js. vor 8 Jahren 0
9
Nick
netstat -lp 
Auf Mac müssen Sie eine Protokolloption zu -p hinzufügen. also so etwas wie: netstat -lp tcp. vrish88 vor 13 Jahren 4
Unter Linux listet -p den Prozess auf, der den Socket besitzt. Jürgen Strobel vor 12 Jahren 0
7
Alexandr

Ich verwende "CentOS 7 minimal", was noch netstatkeine hat lsof. Aber viele Linux-Distributionen haben den Befehl "Socket-Statistiken" (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
Amit Kaneria

Um unter Linux einen Prozess zu finden, der auf einem Port ausgeführt wird, führen Sie die folgenden Schritte aus:

lsof -i :<port_number> 

Beispiel:

lsof -i :8080 
Danke, dass Sie versuchen zu helfen. Dieser Befehl wurde in der akzeptierten Antwort erwähnt. Wenn Sie etwas Neues haben, bearbeiten Sie bitte Ihren Beitrag. Ben N vor 8 Jahren 0