我必须经常杀死我的开发人员机器上的几个进程(服务)来释放它使用的内存。而且我无法关闭它们。目前我在 ProcessExplorer 中手动执行此操作,但我认为应该有更自动的方式。
我认为最好的方法是向 Visual Studio 添加工具按钮(我已经添加了回收 IIS 的按钮)。
如何添加将按名称杀死少数进程的工具按钮(例如 owstimer.exe 和 w3wp.exe)。或者也许你知道一个可以帮助我的插件?
我必须经常杀死我的开发人员机器上的几个进程(服务)来释放它使用的内存。而且我无法关闭它们。目前我在 ProcessExplorer 中手动执行此操作,但我认为应该有更自动的方式。
我认为最好的方法是向 Visual Studio 添加工具按钮(我已经添加了回收 IIS 的按钮)。
如何添加将按名称杀死少数进程的工具按钮(例如 owstimer.exe 和 w3wp.exe)。或者也许你知道一个可以帮助我的插件?
最简单的方法是在 Visual Studio 中创建一个宏,它枚举进程并杀死与您的要求相对应的进程。
另一种解决方案是创建一个自定义 .bat 文件,并调用taskkill /im thexe.exe /f
. 然后在 Visual Studio 中添加自定义工具中的条目。
除了 taskkill,你还可以做一个清洁器net stop OWSTIMER
或iisreset /stop
.
这将避免杀死应用程序,并正确关闭服务。
最后一句话,一些 Visual Studio 扩展(我认为是 WSPBuilder 和/或 CKSDev)添加了回收 SharePoint 进程的按钮。
如果您想从任务管理器中终止进程,请尝试以下代码:
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;
您还可以编写一个 kill bat/cmd 文件,您可以从 Visual Studio 的工具菜单中执行该文件。
Sysinternals-Microsofts Process Explorer有一个命令行 exe pskill.exe,可以通过命令行参数完成这项工作......