Je développe une application qui écoute sur le port 3000. Apparemment, il y a une instance de cette application qui écoute toujours ce port, car à chaque fois que je la lance, elle ne peut pas créer d'écouteur (C#, TcpListener, mais ce n'est pas pertinent) parce que le port est déjà pris.
L'application n'existe pas dans le gestionnaire de tâches, j'ai donc essayé de trouver son PID et de la tuer, ce qui a donné ce résultat intéressant :
C:\Users\username>netstat -o -n -a | findstr 0.0:3000
TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 3116
C:\Users\username>taskkill /F /PID 3116
ERROR: The process "3116" not found.
Je n'ai jamais vu ce comportement auparavant et j'ai pensé que c'était suffisamment intéressant pour voir si quelqu'un avait une solution.
MISE À JOUR : J'ai lancé l'Explorateur de processus et j'ai fait une recherche pour 3000 et j'ai trouvé ceci :
<Non-existent Process>(3000): 5552
J'ai fait un clic droit dessus et choisi "Fermer la poignée". Il n'est plus dans l'explorateur de processus, mais apparaît toujours dans netstat et empêche toujours l'application de lancer le listener.
UPDATE 2 : Trouvé TCPView pour Windows qui montrent le processus comme "<non-existent>"
. Comme avec CurrPorts, rien ne se passe lorsque j'essaie de fermer la connexion dans cet outil.