正常情况下,一旦IIS服务被正确启用的话,那么系统就会自动运行一个与该服务相对应的系统进程,关闭这个系统进程就能达到停止IIS服务的目的。依照这样的分析思路,我们可以采用先关闭IIS系统进程,然后再重新运行IIS系统进程的方法,来实现重新启动IIS服务,从而达到快速解决IIS故障的目的。可是在一些要求极为严格的服务器系统中,这种方法有时也行不通,因为IIS系统进程与其他系统进程往往存在一定的依赖关系,一旦我们强行将IIS系统进程关闭掉的话,那么其他的相关进程也就会跟着被关闭掉,这样一来系统的其他一些服务也有可能会受到“牵连”。
为了能够闪电恢复IIS故障,笔者经过多次琢磨试验,终于找到一种既能闪电恢复故障又不会对其他服务造成牵连的方法,下面就是该方法的具体实施步骤:
当我们发现IIS服务器出现意外故障不能正常工作时,首先在IIS所在的服务器系统中用鼠标右键单击一下Windows系统桌面中的任务栏,从弹出的快捷菜单中单击“任务管理器”项目,打开本地服务器系统的任务管理器窗口。
在该窗口中单击“进程”标签,然后在对应的标签页面中检查一下是否存在“用户名”这一列标识信息,要是没有的话,我们可以单击菜单栏中的“工具”菜单项,从弹出的下拉菜单中单击“选择列”项目,打开如图1所示的设置对话框;在该对话框中找到“用户名”这一复选项,并检查该选项此时是否处于选中状态,要是还没有被选中的话,可以将它重新选中,然后单击“确定”按钮,重新返回到“进程”标签页面,这时我们就能从中看到每一个系统进程究竟是被哪一位用户所调用了。
![]() |
| 图1 |
接下来在“进程”标签页面的“映像名称”这一列信息中,找到名称为“dllhost.exe”的系统进程;通常情况下,Windows服务器系统中会同时运行多个“dllhost.exe”的系统进程,这个时候我们可以逐一查看每一个“dllhost.exe”进程所对应的用户名是什么,然后将用户名为“IWAM”的那个“dllhost.exe”系统进程选中,并用鼠标右键单击之,再从其后出现的右键菜单中执行“结束进程”命令,最后单击“确定”按钮关闭系统任务管理器窗口。
之后,当我们再次尝试访问目标网站页面时,相信奇迹就会出现在我们眼前,网站页面内容又能被正确浏览到了。怎么样,这种恢复IIS故障的方法是不是既简单快捷,又不影响其他网络服务呀!?
