结束Windows标准以外的所有进程

时间:2019-01-19 15:13:09

标签: c#

我有此脚本可以终止所有进程,但也可以终止导致蓝屏的Windows默认进程

如何在不发生这种情况的情况下终止所有进程

Process self = Process.GetCurrentProcess() ;
foreach( Process p in Process.GetProcesses().Where( p => p.Id != self.Id ) )
{
  p.Kill() ;
}

1 个答案:

答案 0 :(得分:3)

您需要拥有一个不会被杀死的进程名称白名单。 请在下面查看我的示例。

Process self = Process.GetCurrentProcess() ;

IList<string> whiteList = new List<string>() {"svchost.exe", "explorer.exe"....};
foreach( Process p in Process.GetProcesses().Where( p => p.Id != self.Id &&  !whitelist.Contains(p.ProcessName ) )
{
  p.Kill() ;
}