2010-07-27 20 views

Respuesta

153

respuesta rápida:

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

(dejar fuera .exe de nombre de proceso)

+2

Gracias tanto ... –

+2

¿Qué se debe hacer si el código anterior devuelve Excepción (un proceso de 32 bits no puede acceder a los módulos de un proceso de 64 bits)? – Manish

+32

Deje de ".exe". Desde MSDN: "El nombre del proceso es un nombre descriptivo para el proceso, como Outlook, que no incluye la extensión .exe o la ruta" – slater

13

Puede usar Process.GetProcesses() para obtener los procesos actualmente en ejecución, luego Process.Kill() para matar un proceso.

+6

Process.GetProcessesByName simplificaría esto. – ConsultUtah

+0

Gracias tanto ... –

+0

¿Qué se debe hacer si el código anterior devuelve Excepción (un proceso de 32 bits no puede acceder a los módulos de un proceso de 64 bits)? – Manish

22

Mi solución es:

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

foreach (var process in chromeDriverProcesses) 
{ 
    process.Kill(); 
} 
+0

puedes usar Contains en lugar de igual –

+2

Funny casuality Es decir, estaba buscando en este hilo una solución para matar al conductor cromado. Debe ser un problema común. – kerl

-2
public void EndTask(string taskname) 
    { 
     string processName = taskname; 
     string fixstring = taskname.Replace(".exe", ""); 

     if (taskname.Contains(".exe")) 
     { 
      foreach (Process process in Process.GetProcessesByName(fixstring)) 
      { 
       process.Kill(); 
      } 
     } 
     else if (!taskname.Contains(".exe")) 
     { 
      foreach (Process process in Process.GetProcessesByName(processName)) 
      { 
       process.Kill(); 
      } 
     } 
    } 

//EndTask("notepad"); 

Resumen: No importa si el nombre contiene .exe, el proceso terminará. No necesita "dejar .exe desde el nombre del proceso", funciona al 100%.

+0

un simple '.Replace (". Exe "," ")' en la parte superior de la respuesta votada haría esto con un código mucho menos intrincado e innecesario – AndrewK

+0

La idea general es ver el método con o sin .exe para que la gente puede ver múltiples formas de manejarlo ... No está hecho para copiar y pegar ... – user7993881

Cuestiones relacionadas