0

我必须经常杀死我的开发人员机器上的几个进程(服务)来释放它使用的内存。而且我无法关闭它们。目前我在 ProcessExplorer 中手动执行此操作,但我认为应该有更自动的方式。
我认为最好的方法是向 Visual Studio 添加工具按钮(我已经添加了回收 IIS 的按钮)。

如何添加将按名称杀死少数进程的工具按钮(例如 owstimer.exe 和 w3wp.exe)。或者也许你知道一个可以帮助我的插件?

4

3 回答 3

1

最简单的方法是在 Visual Studio 中创建一个宏,它枚举进程并杀死与您的要求相对应的进程。

另一种解决方案是创建一个自定义 .bat 文件,并调用taskkill /im thexe.exe /f. 然后在 Visual Studio 中添加自定义工具中的条目。

除了 taskkill,你还可以做一个清洁器net stop OWSTIMERiisreset /stop.

这将避免杀死应用程序,并正确关闭服务。

最后一句话,一些 Visual Studio 扩展(我认为是 WSPBuilder 和/或 CKSDev)添加了回收 SharePoint 进程的按钮。

于 2012-06-27T12:12:19.677 回答
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;
于 2012-06-27T12:19:00.817 回答
0

您还可以编写一个 kill bat/cmd 文件,您可以从 Visual Studio 的工具菜单中执行该文件。

Sysinternals-Microsofts Process Explorer有一个命令行 exe pskill.exe,可以通过命令行参数完成这项工作......

于 2012-06-27T12:22:20.877 回答