在 Windows Server 2003 R2 64 位 SP2 中,我有一个应用程序,它只使用端口 8080,但有些东西已经在使用它。我很乐意杀死正在使用它的任何东西,但我无法弄清楚它是什么。我已经运行 TCPView,它显示 PID 为 3216,进程为“”。我试过 taskkill /pid 3216 但它说:
错误:找不到进程“3216”。
如果我浏览到http://127.0.0.1:8080
我得到以下错误之一,所以它看起来有点像某种网络服务器。如果我尝试终止 TCPView 中的进程,则不会发生任何事情。任何人都可以提出任何其他建议吗?
禁止。您无权访问此服务器上的 /。
内部服务器错误。服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 [email protected] 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。服务器错误日志中可能提供有关此错误的更多信息。
在管理员级别的命令提示符下使用
netstat -ba
,您将看到所有活动的网络套接字和拥有这些套接字的进程。-b
告诉 netstat 输出套接字所有者的可执行文件名。-a
tella netstat 列出所有侦听和客户端套接字。这就是我在 Windows 8 中所做的:
运行 resmon
在网络选项卡中单击监听端口,在这里我们可以看到当前正在使用的所有端口。
端口 8080 是 Java 应用程序相当常用的端口。通过 Tomcat 或 Jetty。我的赌注是Tomcat。由于这是一个服务器并且您显然无法访问端口 8080 上的内容,因此我的建议是查看您的进程列表以查找与 Java 相关的任何内容。可能还检查端口 8081 和端口 8000 上的内容。
检查 IIS 是否正在运行。IIS 使用内核级驱动程序 (http.sys) 来处理 http 请求,因此它无法在 netstat 中正确显示。
如果它在那里,请检查哪个站点绑定到:8080。
除了这里的答案,我最终能够通过在 Windows 命令提示符中执行以下步骤来找出它是 Apache:
其中 <cr> = 输入键
这产生了一个显示标题的响应,其中一个标题泄露了它是 Apache。我发现了一个正在运行的 httpd 进程,我可以杀死它。这不是我要找的东西,因为没有安装 Apache,但运行了一个独立的 Apache 实例(我检查它不是病毒)。