2010-07-27 21 views

Répondre

153

rapide Réponse:

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

(laisser hors .exe du nom du processus)

+2

Thanx tant .. –

+2

ce qui devrait être fait si au-dessus du code renvoie Exception (un processus de 32 bits ne peut pas accéder aux modules d'un processus de 64 bits)? – Manish

+32

Laissez ".exe". De MSDN: "Le nom de processus est un nom convivial pour le processus, tel qu'Outlook, qui n'inclut pas l'extension .exe ou le chemin" – slater

13

Vous pouvez utiliser Process.GetProcesses() pour obtenir les processus en cours d'exécution, puis Process.Kill() pour arrêter un processus.

+6

Process.GetProcessesByName simplifierait cela. – ConsultUtah

+0

Thanx tant .. –

+0

ce qui devrait être fait si au-dessus du code renvoie l'exception (un processus de 32 bits ne peut pas accéder aux modules d'un processus de 64 bits)? – Manish

22

Ma solution est:

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

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

vous pouvez utiliser Contient au lieu de l'égalité –

+2

Funny coïncidence est, je cherchais dans ce fil une solution pour tuer le chromedriver. Doit être un problème commun. – 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"); 

Résumé: Peu importe si le nom contient .exe, le processus va se terminer. Vous n'avez pas besoin de "quitter .exe du nom du processus", cela fonctionne 100%.

+0

un simple '.Replace (". Exe "," ")' sur la réponse votée haut ferait avec un code beaucoup moins alambiquée et inutile – AndrewK

+0

L'idée est de voir la méthode avec ou sans .exe afin que les gens peut voir plusieurs façons de le manipuler ... Ce n'est pas fait pour copier et coller .... – user7993881