Ich habe versucht, den Tomcat ./shutdown.sh
aus dem Tomcat- /bin
Verzeichnis zu schließen. Es wurde jedoch festgestellt, dass der Server nicht ordnungsgemäß geschlossen wurde. Daher konnte ich
meinen Tomcat nicht neu starten 8080
.
Ich möchte den laufenden Tomcat-Prozess beenden 8080
. Ich möchte zuerst die Liste der Prozesse haben, die an einem bestimmten Port (8080) ausgeführt werden, um auszuwählen, welcher Prozess beendet werden soll.
linux
unix
port
kill-process
veer7
quelle
quelle
Antworten:
Dadurch
fuser 8080/tcp
wird die PID des an diesen Port gebundenen Prozesses gedruckt.Und das
fuser -k 8080/tcp
wird diesen Prozess beenden.Funktioniert nur unter Linux. Universeller ist die Verwendung von
lsof -i4
(oder 6 für IPv6).quelle
fuser
. Nimmt nur eine Datei, unterstützt nicht-k
.fuser: command not found
, installieren Sie psmisc. Für CentOS / RHEL 7 laufensudo yum install psmisc
So listen Sie alle Prozesse auf, die den Port 8080 abhören:
So beenden Sie jeden Prozess, der den Port 8080 abhört:
oder heftiger:
( Entspricht
-9
demSIGKILL - terminate immediately/hard kill
Signal: Siehe Liste der Kill-Signale und Was ist der Zweck der Option -9 im Kill-Befehl? Wenn kein Signal angegeben ist,kill
wird das TERM-Signal aka-15
odersoft kill
gesendet, was manchmal nicht ausreicht, um zu töten ein Prozess.).quelle
sudo
sudo lsof -i:8080
.Verwenden Sie den Befehl
verwendet
grep java
alstomcat
Verwendungenjava
als ihre Prozesse.Es wird die Liste der Prozesse mit Portnummer und Prozess-ID angezeigt
Die vorherige Nummer
/java
ist eine Prozess-ID. Verwenden Sie nun denkill
Befehl, um den Prozess abzubrechen-9
impliziert, dass der Prozess gewaltsam beendet wird.quelle
netstat
.Ich würde diesen Einzeiler hinzufügen, um nur LISTEN an einem bestimmten Port zu töten:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
quelle
Sie können den Befehl lsof verwenden. Lassen Sie die Portnummer wie hier 8090 sein
Dieser Befehl gibt eine Liste der geöffneten Prozesse an diesem Port zurück.
Etwas wie…
Um den Port freizugeben, beenden Sie den Prozess damit (die Prozess-ID lautet 75782)…
Dieser hat für mich gearbeitet. Hier ist der Link vom ursprünglichen Beitrag: Link
quelle
Wenn Sie einen Prozess beenden möchten, der auf Port 8080 ausgeführt wird, müssen Sie zuerst die PID (8080 Port Process Identification Number) ermitteln und dann beenden. Führen Sie den folgenden Befehl aus, um die PID der 8080-Portnummer zu ermitteln:
Hier,
So können Sie Ihre PID jetzt ganz einfach mit dem folgenden Befehl beenden:
Hier,
Mit einem Befehl können Sie einen Prozess an einem bestimmten Port mit dem folgenden Befehl beenden:
Weitere Informationen finden Sie unter folgendem Link: Beenden eines Prozesses an einem bestimmten Port unter Linux
quelle
sudo kill -9 $(sudo lsof -t -i:8080)
arbeitete für michDer beste Weg, um alle Prozesse an einem bestimmten Port abzubrechen.
quelle
Dies wird gedruckt, um die Prozess-IDs von allem, auf dem ausgeführt wird, zu standardisieren
<port_number>
:Es druckt auch einige Sachen an stderr, also:
Wir können dann diese Prozess-IDs an den
kill
Befehl senden :Sie können dies auch in eine Funktion einfügen, wenn Sie es häufig tun:
quelle
Holen Sie sich die PID der Aufgabe und beenden Sie sie.
quelle
lsof -ti:8080-8089 | xargs kill
.So kennen Sie die PID des Dienstes, der auf einem bestimmten Port ausgeführt wird:
Sie erhalten die Beschreibung dieses Prozesses. Verwenden Sie jetzt kill oder kill -9 pid. Leicht zu töten.
z.B
netstat -ap | grep :8080
Jetzt:
Denken Sie daran, alle Befehle als auszuführen
root
quelle
Einzeiler
Erklärung hier: Verwenden Sie eine Kombination von
lsof and kill
Wählen Sie pid und verwenden Sie
kill
quelle
versuche es so,
quelle
Wählen Sie die Portnummer und wenden Sie den Befehl grep in netstat wie unten gezeigt an
Konsolenausgabe
Beenden Sie den Dienst basierend auf der PID (Process Identification Number).
quelle
lsof -i tcp:8000
Dieser Befehl listet die Informationen zum Prozess auf, der in Port 8000 ausgeführt wirdkill -9 [PID]
Dieser Befehl beendet den Prozessquelle
Linux : Zuerst können Sie die PID dieses Befehls finden, wenn Sie den Port kennen:
Beispiel:-
Sie nehmen dann den Tötungsprozess. Führen Sie den folgenden Befehl aus:
töte -9 PID
Beispiel: -
töte -9 15986
quelle
Linux : Sie können diesen Befehl verwenden, wenn Sie den Port kennen:
AIX :
Anschließend nehmen Sie die erste Spalte (Beispiel: f100050000b05bb8) und führen den folgenden Befehl aus:
Tötungsprozess.
quelle
Sie können die Liste aller im System ausgeführten Ports zusammen mit ihren Details (PID, Adresse usw.) kennen:
Sie können Details zu einer bestimmten Portnummer ermitteln, indem Sie die Portnummer im folgenden Befehl angeben:
Beispiel: sudo netstat -lutnp | grep -w '8080' Details werden wie folgt bereitgestellt:
Wenn Sie einen Prozess mit pid beenden möchten, dann :
kill -9 {PID}
Wenn Sie einen Prozess mit der Portnummer beenden möchten :
fuser -n tcp {port_number}
Verwenden
sudo
Sie diese Option, wenn Sie auf keine zugreifen können.quelle
kill -9 `fuser 8080/tcp|xargs -n 1`
Dieser Befehl beendet auch den Prozess, der Port 8080 mit TCP-Verbindung überwachtquelle
Ergebnis: 80 / tcp: 1858 1867 1868 1869 1871
Töte den Prozess eins nach dem anderen
töte -9 1858
quelle
Ich arbeite an einem Yocto Linux-System mit einer begrenzten Anzahl verfügbarer Linux-Tools. Ich wollte den Prozess beenden, der einen bestimmten Port verwendete (1883).
Um zu sehen, welche Ports wir abhören, habe ich zunächst den folgenden Befehl verwendet:
Als nächstes fand ich den Namen des Prozesses unter Verwendung von Port 1883 folgendermaßen:
Wie wir oben sehen können, verwendet das Programm
/usr/sbin/mosquitto
Port 1883.Zuletzt habe ich den Prozess beendet:
Ich habe es verwendet,
systemctl
weil es in diesem Fall ein Systemdienst war.quelle
In meinem Fall hat cent os ein Problem mit der vorgeschlagenen Antwort. Also habe ich folgende Lösung verwendet:
quelle
um auf dem aufzubauen, was @ veer7 gesagt hat:
Wenn Sie wissen möchten, was sich auf dem Port befand, tun Sie dies, bevor Sie ihn töten.
Verwenden Sie 'ps' und die Nummer des Prozesses, den netstat zurückgemeldet hat
quelle
Anders mit Git Bash:
quelle
netstat -lt
fuser <port number>/tcp
kill <process id>
quelle
In Windows wird es sein
netstat -ano | grep "8080"
und wir erhalten die folgende MeldungTCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 10076
WIR können die PID mit töten
taskkill /F /PID 10076
quelle