如果 netstat 中没有显示正在使用端口的进程,如何找到该进程?

如果 netstat 中没有显示正在使用端口的进程,如何找到该进程?

我正在使用软件开发 IDE (Intellij),它使用本地机器端口 5005 进行 Java 程序调试。有时它会报告无法连接,因为端口正在使用,有时还会报告连接超时。因此我重新启动 IDE,终止所有 java 和 javaw 进程,然后运行:

netstat -a -n | find /c "5005"

它报告 0。为确保万无一失,我还运行了netstatfind列表并调查了它 - 没有 5005 有listening或有wait状态。但下次启动后,IDE 仍然会报告相同的连接错误。

唯一有助于恢复的方法是重启系统。重启后,系统可以正常工作几个小时甚至几天,直到再次出现同样的症状。

我对此感到困惑。我以为这netstat会显示所有正在使用的端口,但显然它漏掉了一些东西。只有完全重启才能杀死阻塞端口的“未知的隐形进程”。

这是怎么回事?Windows 上的端口怎么会被阻塞,甚至netstat不报告?

相关内容