Pourquoi netstat ne se ferme-t-il pas si vous ne lui donnez pas le drapeau n?
Jared Beach le
2
@JaredBeach - il attend la résolution de nom DNS inverse, donc il finira par se terminer une fois les délais d'attente terminés. Si cela se bloque sur les adresses IP internes , cela suggère un problème avec vos serveurs DNS locaux.
Steve Friedl
7
Si vous souhaitez effectuer cette opération par programme, vous pouvez utiliser certaines des options qui vous sont proposées comme suit dans un script PowerShell:
Toutefois; sachez que plus vous pouvez être précis, plus votre résultat PID sera précis. Si vous savez sur quel hôte le port est censé se trouver, vous pouvez le réduire beaucoup. netstat -aon | findstr "0.0.0.0:9999"ne renverra qu'une seule application et très probablement la bonne. Seule la recherche sur le numéro de port peut vous amener à renvoyer des processus qui ne s'y trouvent 9999que:
Le candidat le plus probable finit généralement en premier, mais si le processus s'est terminé avant d'exécuter votre script, vous risquez de vous retrouver avec le PID 12331 à la place et de tuer le mauvais processus.
Après quelques manipulations avec un script, je suis arrivé à cette action. Copiez-le et enregistrez-le dans un fichier .bat:
FOR /F "usebackq tokens=5" %%i IN (`netstat -aon ^| find "3306"`) DO taskkill /F /PID %%i
Modifiez 'find "3306"' dans le numéro de port qui doit être libre. Exécutez ensuite le fichier en tant qu'administrateur. Cela tuera tous les processus en cours d'exécution sur ce port.
Réponses:
Ouvrez simplement un shell de commande et tapez (en disant que votre port est 123456):
Vous verrez tout ce dont vous avez besoin.
Les en-têtes sont:
la source
nestat -aon | findstr 123456
Trouvez le PID d'un processus qui utilise un port sous Windows (par exemple le port: "9999")
-a
Affiche toutes les connexions et tous les ports d'écoute.-o
Affiche l'ID de processus propriétaire associé à chaque connexion.-n
Affiche les adresses et les numéros de port sous forme numérique.Production:
Puis tuez le processus par PID
/F
- Spécifie de forcer l'arrêt du ou des processus.Remarque: vous aurez peut-être besoin d'une autorisation supplémentaire (exécutée par l'administrateur) pour tuer certains processus
la source
Si vous souhaitez effectuer cette opération par programme, vous pouvez utiliser certaines des options qui vous sont proposées comme suit dans un script PowerShell:
Toutefois; sachez que plus vous pouvez être précis, plus votre résultat PID sera précis. Si vous savez sur quel hôte le port est censé se trouver, vous pouvez le réduire beaucoup.
netstat -aon | findstr "0.0.0.0:9999"
ne renverra qu'une seule application et très probablement la bonne. Seule la recherche sur le numéro de port peut vous amener à renvoyer des processus qui ne s'y trouvent9999
que:Le candidat le plus probable finit généralement en premier, mais si le processus s'est terminé avant d'exécuter votre script, vous risquez de vous retrouver avec le PID 12331 à la place et de tuer le mauvais processus.
la source
Après quelques manipulations avec un script, je suis arrivé à cette action. Copiez-le et enregistrez-le dans un fichier .bat:
Modifiez 'find "3306"' dans le numéro de port qui doit être libre. Exécutez ensuite le fichier en tant qu'administrateur. Cela tuera tous les processus en cours d'exécution sur ce port.
la source
Commander:
Production:
Maintenant, coupez l'ID de processus, "10396", à l'aide de la
for
commande sous Windows.Commander:
Production:
10396
Si vous voulez couper le 4ème chiffre de la valeur signifie "ECOUTER" alors commande sous Windows.
Commander:
Production:
ÉCOUTE
la source
Cela aide à trouver le PID à l'aide du numéro de port.
la source
'lsof' is not recognized as an internal or external command.
PowerShell (compatible Core) One-Liner pour faciliter les scénarios de copypaste:
Production:
Même code, convivial pour les développeurs:
la source