2010-07-27 15 views

Odpowiedz

153

Szybka Odpowiedź:

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

(opuść .exe z nazwą procesu)

+2

Niż tyle .. –

+2

co należy zrobić, jeśli powyższy wyjątek kod zwrotny (32 bitowe procesów nie może uzyskać dostępu do modułów procesu 64 bit)? – Manish

+32

Zostaw ".exe". Od MSDN: „Nazwa proces jest przyjazny nazwa procesu, takich jak Outlook, który nie zawiera rozszerzenie .exe lub ścieżkę” – slater

13

Możesz użyć Process.GetProcesses(), aby uzyskać aktualnie uruchomione procesy, a następnie Process.Kill(), aby zabić proces.

+6

Process.GetProcessesByName uprości to. – ConsultUtah

+0

Niż tak dużo .. –

+0

co należy zrobić, jeśli powyższy kod zwraca wyjątek (procesy 32-bitowe nie mogą uzyskać dostępu do modułów procesu 64-bitowego)? – Manish

22

Moje rozwiązanie to:

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

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

można użyć Zawiera zamiast równego –

+2

Zabawny zbieg okoliczności jest, szukałem w tym wątku rozwiązania problemu zabicia chromedriver. Musi to być typowy problem. – 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"); 

Podsumowanie: Bez względu na to, czy nazwa zawiera .exe, proces się zakończy. Nie musisz "zostawiać .exe z nazwy procesu", działa on w 100%.

+0

prosty '.replace („ exe”,«»)' na górze głosowało odpowiedź byłoby to zrobić z kodem dużo mniej zawiłe i niepotrzebnego – AndrewK

+0

Cała idea jest widzieć metodę z lub bez .exe tak ludzi widzę wiele sposobów na jego obsługę ... Nie jest to przeznaczone do kopiowania i wklejania .... – user7993881

Powiązane problemy