2012-06-27 75 views
0

我必須經常在我的開發人員計算機上殺掉很少的進程(服務)以釋放它使用的內存。我無法關閉它們。此時我在ProcessExplorer中手動執行該操作,但我認爲應該有更多的自動方式。
我認爲最好的方法是將工具按鈕添加到Visual Studio(我已經添加了這樣的按鈕,以回收IIS)。如何將按鈕添加到殺死進程的Visual Studio

如何添加工具按鈕,將通過名稱殺死一些進程(例如owstimer.exe和w3wp.exe)。或者,也許你知道一個插件可以幫助我?

回答

1

最簡單的方法是在Visual Studio中創建一個宏,它枚舉進程並殺死與您的需求相對應的進程。

另一種解決方案是創建一個自定義的.bat文件,並調用taskkill /im thexe.exe /f。然後在自定義工具中添加Visual Studio中的條目。

而不是taskkill,你也可以做一個清潔工net stop OWSTIMERiisreset /stop

這將避免殺死應用程序,並正確關閉服務。

最後一句話,一些Visual Studio擴展(我想到了WSPBuilder和/或CKSDev)添加了回收SharePoint進程的按鈕。

+0

感謝,TASKKILL正常工作,你是正確的,我應該用淨停止合併。 –

0

,如果你想殺死從任務管理器進程,那麼試試這個代碼:

foreach (Process p in System.Diagnostics.Process.GetProcessesByName("yourprocess name")) 
{ 
    try 
    {  
     p.Kill(); 
     p.WaitForExit(); // possibly with a timeout 
    } 
    catch (Win32Exception winException) 
    { 
     // process was terminating or can't be terminated - deal with it 
    } 

    catch (InvalidOperationException invalidException) 
    { 
     // process has already exited - might be able to let this one go 
    } 
} 

並添加此的命名空間:

using System.Diagnostics; 
using System.ComponentModel;