Comment supprimer le processus/l'application en cours qui est déjà affecté à un port?
Par exemple: localhost:8080
Étape 1
Exécutez la ligne de commande en tant qu'administrateur. Ensuite, lancez la commande ci-dessous mentionnée . Tapez votre numéro de port dans yourPortNumber
netstat -ano | findstr: yourPortNumber
La zone entourée de rouge indique le PID (identificateur de processus)
Étape 2
Ensuite, vous exécutez cette commande après avoir identifié le PID.
taskkill/PID typeyourPIDhere / F
P.S. Exécutez à nouveau la première commande pour vérifier si le processus est toujours disponible ou non. Vous obtiendrez une ligne vide si le processus est terminé avec succès.
Étape 1 (la même chose est acceptée réponse écrit par KavinduWije ):
netstat -ano | findstr :yourPortNumber
Changer à l'étape 2 pour:
tskill typeyourPIDhere
Depuis que taskkill
ne fonctionne pas dans une commande git bash
Si vous utilisez GitBash
La première étape:
netstat -ano | findstr :8080
Deuxième étape:
taskkill /PID typeyourPIDhere /F
(/F
met fin de force au processus)
Dans Windows PowerShell version 1 ou ultérieure pour arrêter un processus sur le port 3000, tapez:
Stop-Process (, (netstat -ano | findstr: 3000) .split () | foreach {$ [$ .length-1]}) -Force
Comme suggéré par @morganpdx, voici une version plus PowerShell-ish:
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000) .OwningProcess -Force
Pour une utilisation en ligne de commande:
for /f "tokens=5" %a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %a
Pour une utilisation dans bat-file:
for /f "tokens=5" %%a in ('netstat -aon ^| find ":8080" ^| find "LISTENING"') do taskkill /f /pid %%a
Avec Windows 10 Default text tools:
1.) Trouvez le PID (ProcessId) en utilisant le port 8080:
netstat -aon | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 ÉCOUTER 11980
2.) Tuez le processus de zombie:
taskkill /F /PID 11980
où "11980" est votre identifiant de processus
Si vous connaissez déjà le numéro de port, il suffira probablement d'envoyer un signal de fin de logiciel au processus (SIGTERM):
kill $(lsof -t -i :PORT_NUMBER)
Pour les utilisateurs de Windows, vous pouvez utiliser CurrPorts tool pour supprimer facilement les ports utilisés
Si vous voulez le faire en utilisant python: check Est-ce possible dans un processus de destruction de python qui s'exécute sur un port spécifique, par exemple 8080? La réponse de Smunk fonctionne bien. Je répète son code ici:
from psutil import process_iter
from signal import SIGTERM # or SIGKILL
for proc in process_iter():
for conns in proc.connections(kind='inet'):
if conns.laddr.port == 8080:
proc.send_signal(SIGTERM) # or SIGKILL
continue
J'exécutais zookeeper @windows, je ne pouvais pas empêcher le zookeeper de fonctionner sur le port 2181 à l'aide de zookeeper-stop.sh. Ça a marché
1. netstat -ano | findstr :2181
TCP 0.0.0.0:2181 0.0.0.0:0 LISTENING 8876
TCP [::]:2181 [::]:0 LISTENING 8876
2.taskkill //PID 8876 //F
SUCCESS: The process with PID 8876 has been terminated.
Vous pouvez faire en exécutant un fichier bat:
@ECHO OFF
FOR /F "tokens=5" %%T IN ('netstat -a -n -o ^| findstr "9797" ') DO (
SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
echo ProcessId to kill = %ProcessId%
taskkill /f /pid %ProcessId%
PAUSE
Nous pouvons éviter cela en redémarrant simplement IIS en utilisant la commande ci-dessous.
IISRESET