2

我有这个脚本可以结束所有进程,但它也会终止导致蓝屏的 Windows 默认进程

如果不发生这种情况,我如何终止所有进程

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

1 回答 1

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() ;
}
于 2019-01-19T15:21:05.523 回答