Убить некоторые процессы по имени файла .exe - PullRequest
105 голосов
/ 27 июля 2010

Как убить некоторые активные процессы, выполнив поиск по именам их файлов .exe в C # .NET или C ++?

Ответы [ 5 ]

207 голосов
/ 27 июля 2010

Быстрый ответ:

foreach (var process in Process.GetProcessesByName("whatever"))
{
    process.Kill();
}

(пропустите .exe из имени процесса)

30 голосов
/ 27 декабря 2013

Мое решение:

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

foreach (var process in chromeDriverProcesses)
{
     process.Kill();
}
14 голосов
/ 27 июля 2010

Вы можете использовать Process.GetProcesses() для получения текущих запущенных процессов, затем Process.Kill() для завершения процесса.

0 голосов
/ 22 апреля 2019

Если у вас есть идентификатор процесса (PID), вы можете завершить этот процесс следующим образом:

Process processToKill = Process.GetProcessById(pid);
processToKill.Kill();
0 голосов
/ 09 июня 2017
public void EndTask(string taskname)
{
      string processName = taskname.Replace(".exe", "");

      foreach (Process process in Process.GetProcessesByName(processName))
      {
          process.Kill();
      }
}

//EndTask("notepad");

Сводка : независимо от того, содержит ли имя .exe, процесс завершится.Вам не нужно «исключать .exe из имени процесса», это работает на 100%.

...