Comment puis-je supprimer le processus / l'application en cours qui est déjà affecté à un port?
Par exemple: localhost:8080
Étape 1:
Ouvrez cmd.exe (remarque: vous devrez peut- être l'exécuter en tant qu'administrateur, mais ce n'est pas toujours nécessaire), puis exécutez la commande ci-dessous:
netstat -ano | findstr :PORT_NUMBER
(Remplacez PORT_NUMBER par le numéro de port souhaité, mais conservez les deux points)
La zone entourée en rouge indique le PID (identificateur de processus). Localisez le PID du processus qui utilise le port souhaité.
Étape 2:
Ensuite, exécutez la commande suivante:
taskkill /PID PID /F
(Pas de deux points cette fois)
Enfin, vous pouvez vérifier si l'opération a réussi ou non en réexécutant la commande à "l'étape 1". S'il a réussi, vous ne devriez plus voir de résultats de recherche pour ce numéro de port.
taskkill //PID 12552 //F
taskkill /PID PORT_NUMBER /F
Étape 1 (il en est de même dans la réponse acceptée écrite par KavinduWije ):
Changez à l'étape 2 pour:
Remarque :
taskkill
ne fonctionne pas dans certains terminaux git bashla source
Avec les outils par défaut de Windows 10:
Ouvrez Windows PowerShell en tant qu'administrateur
Trouvez le PID (ProcessID) pour le port 8080:
Tuez le processus zombie:
où "77777" est votre PID
la source
set /p port="Enter port: "
-> Port d'entréeFOR /F "tokens=5" %%T IN ('netstat -aon ^| findstr %port% ') DO ( SET /A ProcessId=%%T) &GOTO SkipLine
:SkipLine
-> Extrait le PID en variabletaskkill /f /pid %ProcessId%
-> Tue la tâchecmd /k
-> Gardez la fenêtre ouverteSi vous utilisez GitBash
La première étape:
Deuxième étape:
(
/F
termine avec force le processus)la source
Dans Windows PowerShell version 1 ou ultérieure pour arrêter un processus sur le port 3000, tapez:
Comme suggéré par @morganpdx, voici une version plus PowerShell, meilleure:
la source
'Stop-Process' is not recognized as an internal or external command,
Stop-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess -Force
Pour une utilisation en ligne de commande:
Pour une utilisation dans le fichier bat:
la source
Si vous connaissez déjà le numéro de port, il suffira probablement d'envoyer un signal de terminaison logicielle au processus (SIGTERM):
la source
lsof -nt -i4TCP:9001
.Pour les utilisateurs de Windows, vous pouvez utiliser l' outil CurrPorts pour tuer facilement les ports en cours d'utilisation:
la source
J'exécutais zookeeper sur Windows et je n'ai pas pu empêcher ZooKeeper de fonctionner sur le port 2181 à l'aide de zookeeper-stop.sh, j'ai donc essayé cette méthode à double barre oblique "//" pour taskkill. Ça a marché
la source
Si vous utilisez Windows Terminal, le processus de mise à mort pourrait être un peu moins fastidieux. J'ai utilisé le terminal Windows et
kill PID
fonctionne bien pour moi pour tuer les processus sur le port car le nouveau terminal Windows prend en charge certaines commandes bash. Par exemple:kill 13300
Ainsi, le processus complet ressemblera à ceci-
netstat -ano | findstr :PORT
kill PID
Par exemple:
Voyez quand j'ai tapé la première commande pour lister les processus sur le port retourné vide. Cela signifie que tous les processus sont tués maintenant.
la source
kill
. Je posterai ici si je trouve.Vous pouvez le faire en exécutant un fichier bat:
la source
Si vous souhaitez le faire en utilisant Python: cochez Est-il possible en python de tuer le processus qui écoute sur un port spécifique, par exemple 8080?
La réponse de Smunk fonctionne bien. Je répète son code ici:
la source
Solution à une ligne utilisant GitBash :
Remplacez 8080 par le port que votre serveur écoute.
Si vous devez l'utiliser souvent, essayez d'ajouter à votre
~/.bashrc
fonction:et exécutez simplement
la source
Nous pouvons éviter cela en redémarrant simplement IIS, en utilisant la commande ci-dessous:
la source