進程在任務管理器中列為 8 個字元的短名稱

進程在任務管理器中列為 8 個字元的短名稱

我有幾台伺服器,其進程經常卡住。我們使用執行taskkill指令(以及其他一些指令)的vbs腳本來終止這個行程。問題是進程名稱不斷變化。它曾經顯示為“FusionLoanSvr.exe”,但最終改為“Fusion~1.exe”,現在為“Fusion~2.exe”。

進程名稱的這種更改迫使我每次發生時都必須修改腳本,當然在所有伺服器上都不一致。

Does anyone know why the short name is used, why it's been incremented to ~2, and either a way to stop it from using the short name or a way to kill the process via script without having to reference the exact EXE name as seen in工作管理員?

謝謝!

答案1

嗯嗯。

這是基於我在 IIS 應用程式中看到的類似行為的一些(有根據的)猜測。

我認為應用程式第一次由 IIS 啟動時,它會以與 EXE 檔案相同的名稱進行呼叫。
由於某些原因,IIS 會產生該進程的第二個副本。這樣就得到 name~1.exe 名稱了。第三個副本的名稱為〜2.exe,依此類推。

產生額外進程的原因可能是因為第一個進程不再回應。
也可能是第一個掛起是因為第二個已啟動。 (也許兩個進程都嘗試存取相同的資源導致死鎖?)

根據我的經驗,這種情況通常是由於 IIS 應用程式集區和/或工作執行緒配置錯誤造成的。

無論如何:我想到了一種快速而骯髒的黑客:只需定期檢查 name~1.exe 是否在內存中。如果在那裡:休斯頓我們有麻煩了。
然後殺死〜9.exe,〜8.exe .... 〜1.exe和name.exe,無論它們是否存在。

相關內容