Wie finde (und beende) ich einen Prozess, der an einem bestimmten Port ausgeführt wird? [Duplikat]


30

Mögliches Duplikat:
Ermitteln des Prozesses, der unter Linux einen bestimmten Port verwendet

Ich benutze Ubuntu Linux 11.04. Wie schreibe ich einen Shell-Skriptausdruck, der den auf Port 4444 ausgeführten Prozess findet und dann den Prozess beendet?


Ich glaube nicht, dass dies ein Duplikat ist, da es fragt, wie der Prozess am Port getötet, nicht gefunden werden soll: fuser -k 9000 / tcp
Kris

Antworten:


47

Sie könnten verwenden lsof, um den Prozess zu finden:

lsof -t -i:4444

würde nur die pid des Prozesses auflisten, der auf Port 4444 lauscht. Man könnte einfach sagen

kill `lsof -t -i:4444`

wenn du mutig wärst


14
+1 für 'wenn du mutig wärst.'
Mr. Shickadance

7

Sie verwenden lsof:

# lsof -n | grep TCP | grep LISTEN | grep 4444

Die Ausgabe wird ungefähr so ​​aussehen:

pname 16125 user 28u IPv6 4835296 TCP *:4444 (LISTEN)

Dabei ist die erste Spalte der Prozessname und die zweite Spalte die Prozess-ID. Anschließend analysieren Sie die Ausgabe, ermitteln die Prozess-ID (PID) und beenden sie mit dem killBefehl.


1
Ich hatte noch nie von so etwas gehört. Ein Blick auf die Manpage scheint unglaublich nützlich zu sein. Vielen Dank!

alles in linux ist eine datei und mit lsof findet man
dateien

2

Alternativ können Sie verwenden, netstat -apwenn lsofes auf Ihrem System nicht verfügbar ist (da es sich nicht um ein System handelt, mit dem ich regelmäßig arbeite).


Guter Anruf, ich habe mich gefragt, warum dies bei einem Docker-Image, an dem ich gearbeitet habe, nicht funktioniert hat
jcollum

2
kill -9 `netstat -lanp --protocol=inet | grep 4444 | awk -F" " '{print $7}' | awk -F"/" '{print $1}'`

Verwendet netstat, um empfangsbereite INET-Sockets mit numerischen Ports und übergeordneten Prozessen aufzulisten. Filtert nach String 4444, entnimmt die 7. Spalte (PID / Prozessname) und teilt sie weiter durch "/", um die PID zu erhalten. Übergibt den Befehl zum Töten.


2
Ich würde gegen die Tötung -9 empfehlen. Bereinigung ist nicht möglich, und in einigen Internet-Apps sind Ressourcen häufiger vorhanden, die ordnungsgemäß heruntergefahren werden müssen.
Rich Homolka
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.