不能绑定到端口,即使tcpview说它没有被使用

每当尝试在我的WinXP盒子上启动我的Java应用程序服务器时,每当尝试侦听端口时都无法启动“地址已被使用”错误。 对我来说通常的解决scheme是启动tcpview(从sysinternals),看看有什么使用该端口,杀死该进程,然后再试一次。 99%的时间工作。

其余的1%,但是,这是行不通的。 应用程序服务器坚持使用端口(例如端口1099,不重要),并且tcpview坚持认为它不是。

应用程序服务器只是将服务器套接字创build委托给Windows,所以我不能看到它是一个Java特定的问题,尽pipe我很高兴能够纠正这个问题。

是什么赋予了? tcpview错过了一些angular落的情况? 有没有更好的工具来帮助我诊断这些情况?

奇怪的。 要查明问题,你可以试试

netstat -an

这也应该列出所有正在使用的端口。 如果不同意,问题可能与tcpview。 否则,你不得不去其他地方看看。

另外,你可以试试

 netstat -ano 

findProcessID并缩小一点,假设你的端口是8191

 netstat -ano | find "8191"