• “另一个程序正在使用此文件,进程无法访问”的解决方法


    “另一个程序正在使用此文件,进程无法访问”的解决方法

    启动IIS时提示“另一个程序正在使用此文件,进程无法访问。(异常来自HRESULT:0x80070020)”

      (the process cannot access the file because it is being used by process. )

      非常典型的端口冲突所致,一般IIS7都是80端口的,但是会有哪些进程会利用80端口呢?

      解决方法:

      IIS中网站服务所占用的是80端口,出现这样的提示我们可以判定是端口冲突造成的,故,查看真正运行的占用80端口的程序,在“运行”输入“cmd”,进入命令行,输入netstat -abn > c:/port80.txt此命令既是查询当前运行的程序所占用的端口状况,然后到c盘port80.txt文件中找到占用80端口的程序pid,记下pid。打开任务管理器,点击“查看”,选择列,勾选“PID(进程标识符)”,然后单击“进程”标签,找到80端口对应的pid,就可以看到是那个程序占用的了,更改这个程序的port,再重启这个程序,使更改生效。

      再次启动iis,一切ok。

      备注:

      查看80端口信息中的PID号,然后打开任务管理器查看对应PID的程序名称。

      (如果没有PID列可以点击“查看”->选择列...->勾选Pid进程标识符->确定)

      将所有开启在后台的进程一一关闭,特别指出的是“Foxmail”以及“淘宝旺旺”这两款软件估计也会占用80端口,除此之外,其实还有很多第三方的程序喜欢占用80端口,比如迅雷下载以及skype有时会占用80端口,且当迅雷下载占用80端口下载时速率会大幅提升,也许是微软的盖茨先生刻意把80端口做的“与众不同”,也许这也是那些第三方的软件喜欢占用80端口的原因

      解决方法二:‍

      IIS “另一个程序正在使用此文件,进程无法访问。”错误提示的解2010-06-07 09:23 来源: 作者: 点击:49964次用IIS管理器启动网站时,出现“另一个程序正在使用此文件,进程无法访问。”的错误提示。说明 此服务器的tcp 80端口已打开。一般情况下,可能是有另一个WEB服务已启动,它打开了80端口,另一种可能就是某个软件打开了80端口。

      如何查看哪个程序打开了tcp 80端口呢?使用“开放端口查看软件Active ports”就可以一目了然了。我查看了一下我的机器情况,如图所示:

      从图上看出原来Skype打开了Tcp 80端口,原来是这个家伙惹的祸,将其关闭。再重启IIS,一切正常。

      如果在IIS启动之后再开Skype,Skype仍能正常使用。说明Skype发现tcp 80端口已打开就不再使用此端口了。看来启动IIS还得有个顺序,那就是先启动IIS再启动Skype。

      补充:其实Skype可以通过设置不让其打开80端口的。这样就不用考虑启动顺序的问题了。具体操作是:Skype 菜单"工具"->"选项"->"连接" 项,去掉“把80端口和443端口作为接入设备的备用端口” 前面的复选框!

      脚本之家编辑补充:

      如果上面的方法还不能解决,下面是个不错的处理方法:

      win2003下测试。

      看下么的图。

      上面的图说明了,我虽然修改了端口,但因为主机头绑定了域名仍然使用的是80端口,所以不能使用,只要将绑定的域名端口修改一下,或删除都可以解决。

      其实这个方法的解决,一般不注意的不可能发现这个问题的。其实事件查看器,也是可以帮助我们解决不少问题的。

      开始--程序--管理工具--事件查看器--系统 查找 “w3svc”即可。

    http://www.safe5.com/news/jishuzixun/20110402/19707.html

  • 相关阅读:
    win7 64位安装mongodb及管理工具mongoVUE1.6.9.0
    常见共识算法
    Go语言学习笔记(5)——集合Map
    UPUPW Apache5.5系列本地开发环境配置
    TCP/IP协议
    HTTP协议
    Gossip协议
    《CAP定理》
    比特币双花攻击
    Fabric中的节点类型
  • 原文地址:https://www.cnblogs.com/shiningrise/p/2798129.html
Copyright © 2020-2023  润新知