有時候我們在WEB程式如:ASP,中無意中使用到了一個死迴圈,或者在測試DLL組件時,掛了。這時候IIS就停止了響應,我們要繼續我們的工作啊,重啟IIS服務吧。
然而這個進程還在執行,網際網路服務管理員還關閉不了。而當想結束inetinfo.exe 或者 DLLHOST.EXE
進程的時候,我們得到了一個拒絕的資訊,當然你是管理員權限也還是得到這樣提示。你也可能會用net
stop,不過花的時間要長些,而且有時候不響應。這時我們只有重啟電腦了。能不用重啟電腦而RESTART IIS嗎?
當然可以,Microsoft在安裝IIS的時候同時安裝了一個工具,叫iisreset,你可以在winnt/system32
中找到它,他可以和PING一樣以命令列方式使用。它有多個參數,下面是幾個重要的,也是我們本文切題的參數:
/RESTART
停止後啟動IIS
/START 啟動IIS (如果停止)
/STOP 停止IIS (如果啟動)
/REBOOT 重啟電腦
/REBOOTonERROR 如果停止IIS失敗重啟電腦
/NOFORCE 不用強迫IIS停止
/TIMEOUT:X
在X秒後,IIS被強制停止,除非 /NOFORCE 參數給出.如果 /REBOOTonERROR 給出,它重啟電腦.
最方便的使用,當然你也可在CMD下運行:
iisreset /start
-------------------
IISRESET.EXE (C) Microsoft Corp. 1998-1999
用法:
iisreset
[computername]
/RESTART 停止然後重新啟動所有 網際網路服務。
/START 啟動所有
網際網路服務。
/STOP 停止所有 網際網路服務。
/REBOOT 重新啟動電腦。
/REBOOTONERROR 如果在啟動、停止或重新啟動 網際網路服務時出錯,
則重新啟動電腦。
/NOFORCE
如果試圖正常停止服務失敗,不強制終止 網際網路服務。
/TIMEOUT:val 指定等待 Internet
服務的成功停止的逾時值(以秒為單位)。
如果已指定 REBOOTONERROR 參數,逾時後可以重新啟
動電腦。
服務重新啟動的預設值為 20 秒,停止為 60 秒,計算
機重新啟動為 0 秒。
/STATUS 顯示所有 Internet
服務的狀態。
/ENABLE 啟用本地系統上 網際網路服務的重新啟動。
/DISABLE 禁用本地系統上 Internet
服務的重新啟動。
重啟IIS的BAT檔案:
@echo off<br />title 是否重啟IIS?<br />echo 是否重啟IIS?<br />:select<br />set /p restart=請輸入您的選擇(Y/N):<br />if "%restart%"=="Y" goto restart<br />if "%restart%"=="y" goto restart<br />if "%restart%"=="N" goto stop<br />if "%restart%"=="n" goto stop<br />goto select<br />:restart<br />title 正在重啟IIS,請稍候...<br />iisreset /restart<br />title IIS重啟完畢<br />echo IIS重啟完畢<br />pause<br />exit<br />:stop<br />title 您選擇了不重啟,任意鍵退出!<br />echo 您選擇了不重啟,任意鍵退出!<br />pause<br />exit