这是在运行IIS 7的Windows Vista机器上。试图启动默认网站,但它说:“进程无法访问该文件,因为它正在被另一个进程使用?
如果我改变绑定到端口82,它工作正常。 所以我猜想80上正在运行。我怎么find它是什么?
netstat -ab | find ":80 "
注意80之后的空格。/ b需要一个提升的命令提示符。
编辑:密切检查后,pipe道netstat -abfind与该searchstring不显示-b开关检索的可执行文件。 这是因为-b在新行上显示拥有过程。 =(我失败了,但是至less前半部分的命令会起作用,我只需要用find命令就可以了)=)
我要做的第一件事是打开一个浏览器到http:// localhost / ,看看会发生什么……然后我会检查netstat当然。
我不知道在Vista上,但在XP上,你可以:
netstat / a / b
在控制台上检查这一点。
以pipe理员身份启动命令提示符并运行命令netstat -ab并在输出中find相应的行。 这应该告诉你侦听该端口的进程的可执行名称。
一旦你有了这个机会,你很有可能知道要查找什么,但是如果你不确定那个可执行文件是什么,你可以启动任务pipe理器,进入进程选项卡,find进程问题,然后右键单击它并select“属性”以获取更多信息。 如果有多个具有该名称的进程,请运行netstat -ao来获取进程ID。
您可以使用NETSTAT -ADO查看正在使用的端口,但不幸的是,这不会给您打开特定端口的应用程序的名称。 它确实给你的进程ID,你可以用它来在任务pipe理器中的特定程序。
或者,您可以下载SysInternals的Tcpvcon程序。 运行时,您会看到一个完整的开放端口列表以及打开它们的程序。
Sysinternals – 正如Dave的文章中提到的(对不起,我的初始文章中有错误的信息)
要么
http://www.howtonetworking.com/command/openport1.htm
介绍如何从命令行执行此操作。
其他答案会告诉你有什么端口80打开。 但是,如果端口80已被另一个使用HTTP.SYS应用程序打开,那么这可能是System(如IIS所做的那样)。
要查看使用HTTP.SYS进行侦听的内容,可以使用(从提升的命令提示符处):
netsh http show servicestate
(这给了很多信息。)
此外HttpCfg.exe可能工作(从Windows XP SP2资源工具包)。
1这就是为什么即使IIS运行在80端口上也不会显示为在端口80上侦听的原因。