使用.exe文件名杀死某些进程

Ali*_*deh 114 c# c++ exe process kill-process

如何通过在C#.NET或C++中搜索其.exe文件名来终止某些活动进程?

Con*_*tah 222

快速回答:

foreach (var process in Process.GetProcessesByName("whatever"))
{
    process.Kill();
}
Run Code Online (Sandbox Code Playgroud)

(从进程名称中删除.exe)

  • 不要使用".exe".来自MSDN:"进程名称是进程的友好名称,例如Outlook,不包括.exe扩展名或路径" (40认同)
  • 如果上面的代码返回Exception(32位进程无法访问64位进程的模块)该怎么办? (2认同)
  • 我建议使用 LINQ: var procs = Process.GetProcesses().Where(pr => pr.ProcessName.Contains("Spotify")); (2认同)
  • 任何可以杀死进程的特定实例的选项?我的意思是,_`Contains("Spotify"))` 杀死了`Spotify` 的所有实例。_ **我想杀死`Spotify` 的一个特定实例。** (2认同)

Ars*_*yan 32

我的解决方案是:

var chromeDriverProcesses = Process.GetProcesses().
                                 Where(pr => pr.ProcessName == "chromedriver");

foreach (var process in chromeDriverProcesses)
{
     process.Kill();
}
Run Code Online (Sandbox Code Playgroud)

  • 有趣的巧合是,我正在寻找一个杀死chromedriver的解决方案.必须是一个常见问题. (9认同)

dri*_*iis 14

您可以使用Process.GetProcesses()获取当前正在运行的进程,然后Process.Kill()终止进程.

  • Process.GetProcessesByName会简化这一点. (6认同)