Wie kann ich den aktuellen Prozess / die aktuelle Anwendung entfernen, die bereits einem Port zugewiesen ist?
Zum Beispiel: localhost:8080
Schritt 1:
Öffnen Sie cmd.exe (Hinweis: Möglicherweise müssen Sie es als Administrator ausführen, dies ist jedoch nicht immer erforderlich), und führen Sie dann den folgenden Befehl aus:
netstat -ano | findstr :PORT_NUMBER
(Ersetzen Sie PORT_NUMBER durch die gewünschte Portnummer, behalten Sie jedoch den Doppelpunkt bei.)
Der rot eingekreiste Bereich zeigt die PID (Prozesskennung). Suchen Sie die PID des Prozesses, der den gewünschten Port verwendet.
Schritt 2:
Führen Sie als Nächstes den folgenden Befehl aus:
taskkill /PID PID /F
(Diesmal kein Doppelpunkt)
Zuletzt können Sie überprüfen, ob der Vorgang erfolgreich war oder nicht, indem Sie den Befehl in "Schritt 1" erneut ausführen. Wenn es erfolgreich war, sollten Sie keine weiteren Suchergebnisse für diese Portnummer sehen.
taskkill //PID 12552 //F
taskkill /PID PORT_NUMBER /F
Schritt 1 (gleiche ist in akzeptierte Antwort geschrieben von KavinduWije ):
Ändern Sie in Schritt 2 Folgendes:
Hinweis :
taskkill
Funktioniert in einigen Git-Bash-Terminals nichtquelle
Mit Windows 10 Standardtools:
Öffnen Sie Windows PowerShell als Administrator
PID (ProcessID) für Port 8080 suchen:
Töte den Zombie-Prozess:
Dabei ist "77777" Ihre PID
quelle
set /p port="Enter port: "
-> ->FOR /F "tokens=5" %%T IN ('netstat -aon ^| findstr %port% ') DO ( SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
PID in Variabletaskkill /f /pid %ProcessId%
-> Tötet die Aufgabecmd /k
-> Sie das Fenster offenWenn Sie GitBash verwenden
Schritt eins:
Schritt zwei:
(
/F
beendet den Prozess mit Nachdruck)quelle
In Windows PowerShell Version 1 oder höher, um einen Prozess auf Port 3000 zu stoppen, geben Sie Folgendes ein:
Wie von @morganpdx vorgeschlagen, gibt es hier mehr PowerShell-ish, bessere Version:
quelle
'Stop-Process' is not recognized as an internal or external command,
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force
Zur Verwendung in der Befehlszeile:
Zur Verwendung in Fledermausdateien:
quelle
Wenn Sie die Portnummer bereits kennen, reicht es wahrscheinlich aus, ein Software-Beendigungssignal an den Prozess (SIGTERM) zu senden:
quelle
lsof -nt -i4TCP:9001
.Für Windows-Benutzer können Sie das CurrPorts- Tool verwenden, um verwendete Ports einfach zu beenden :
quelle
Ich habe zookeeper unter Windows ausgeführt und konnte ZooKeeper nicht mit zookeeper-stop.sh am 2181-Port stoppen. Deshalb habe ich diese Methode mit dem doppelten Schrägstrich "//" zum Taskkill ausprobiert. Es funktionierte
quelle
Wenn Sie Windows Terminal verwenden, ist der Vorgang zum Beenden möglicherweise etwas weniger langwierig. Ich habe Windows Terminal verwendet und kann
kill PID
problemlos Prozesse am Port beenden, da das neue Windows Terminal bestimmte Bash-Befehle unterstützt. Zum Beispiel:kill 13300
Der gesamte Prozess sieht also so aus:
netstat -ano | findstr :PORT
kill PID
Zum Beispiel:
Sehen Sie, wann ich den ersten Befehl eingegeben habe, um Prozesse an dem Port aufzulisten, der leer zurückgegeben wurde. Das heißt, alle Prozesse werden jetzt beendet.
quelle
kill
. Ich werde hier posten, wenn ich finde.Sie können dies tun, indem Sie eine Fledermausdatei ausführen:
quelle
Wenn Sie dies mit Python tun möchten: check Ist es in Python möglich, einen Prozess abzubrechen, der einen bestimmten Port überwacht, z. B. 8080?
Die Antwort von Smunk funktioniert gut. Ich wiederhole seinen Code hier:
quelle
Einzeilige Lösung mit GitBash :
Ersetzen Sie 8080 durch den Port, den Ihr Server abhört.
Wenn Sie es häufig verwenden müssen, fügen Sie
~/.bashrc
der Funktion Folgendes hinzu :und einfach laufen
quelle
Wir können dies vermeiden, indem wir IIS einfach mit dem folgenden Befehl neu starten:
quelle