windows 2003下殺dllhost.exe程式

lfree發表於2009-11-13
我們的中介軟體伺服器的dllhost.exe 記憶體使用達到1.2G的時候,中介軟體就無法提供服務了,以前我們的做法就是重啟伺服器,如果事情在晚上會非常麻煩。

我測試如果在工作管理員裡面殺掉dllhost.exe(注意有兩個,要殺使用者=IWAM_XXX的程式,也就是IIS的使用者),系統自己會起來新的dllhost.exe程式。如果我能定時在記憶體使用達到1.2G,kill掉該程式,就可以徹底解決這個問題了。

我看了一些文件,最後發現只要計劃任務裡面呼叫這個命令就可以解決這個問題了:

TASKKILL /F  /FI "USERNAME eq IWAM_XXX" /FI "IMAGENAME eq dllhost.exe" /FI "MEMUSAGE gt 524288"

實際上taskkill /? 看幫助,簡單說明一下:

/FI   filter           應用篩選器以選擇一組任務。
                       允許使用 "*"。例如,映像名稱 eq acme*

篩選器:
    篩選器名      有效運算子                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名稱
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    會話編號。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 時間,格式為
                                            hh:mm:ss。
                                            hh - 時,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    記憶體使用量,單位為 KB
    USERNAME      eq, ne                    使用者名稱,格式為 [domain\]user
    MODULES       eq, ne                    DLL 名稱
    SERVICES      eq, ne                    服務名稱
    WINDOWTITLE   eq, ne                    視窗標題

我這裡就是殺掉USERNAME=IWAM_XXX,IMAGENAME=dllhost.exe, MEMUSAGE大於512M的時候殺程式。

在操作前可以使用tasklist命令自己看看,兩者基本語法相似的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-619546/,如需轉載,請註明出處,否則將追究法律責任。

相關文章