I have an app that listens on port 7001, which sometimes crashes but leaves the port open. netstat reports a PID that doesn't exist. How is that possible? How can I force the port to close without restarting the machine?
C:\>netstat -a -o Active Connections Proto Local Address Foreign Address State PID ... TCP JD1:7001 JD1.intranet:0 LISTENING 6060 ... C:\>taskkill /pid 6060 ERROR: The process "6060" not found.
Try netstat with the -b option as well as the -a and -o options to show the executables involved. That may help you track down the culprit.
Try using Process Explorer to find and kill the process. If you need a command-line program, try pskill instead.