Wie kann ich einige aktive Prozesse durch Suchen nach ihren .exe-Dateinamen in C# .NET oder C++ beenden?Töte einige Prozesse durch .exe Dateiname
Antwort
Schnell Antwort:
foreach (var process in Process.GetProcessesByName("whatever"))
{
process.Kill();
}
(wegzulassen .exe von Prozessname)
Vielen Dank .. –
Was sollte tun, wenn obige Code-Rückgabe Ausnahme (ein 32-Bit-Prozesse können nicht auf Module eines 64-Bit-Prozesses zugreifen)? – Manish
Lassen Sie ".exe" weg. Von MSDN: "Der Prozessname ist ein benutzerfreundlicher Name für den Prozess, z. B. Outlook, die die EXE-Erweiterung oder den Pfad nicht enthält" – slater
können Sie Process.GetProcesses()
verwenden, um die laufenden Prozesse zu bekommen, dann Process.Kill()
einen Prozess zu töten.
Process.GetProcessesByName würde dies vereinfachen. – ConsultUtah
Vielen Dank .. –
Was sollte tun, wenn obige Code-Rückgabe Ausnahme (ein 32-Bit-Prozesse können nicht auf Module eines 64-Bit-Prozesses zugreifen)? – Manish
Meine Lösung ist:
var chromeDriverProcesses = Process.GetProcesses().
Where(pr => pr.ProcessName == "chromedriver");
foreach (var process in chromeDriverProcesses)
{
process.Kill();
}
Sie könnten Enthält anstelle von –
Lustiger Zufall verwenden In diesem Thread suchte ich nach einer Lösung, um den Chromtreiber zu töten. Muss ein häufiges Problem sein. – kerl
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");
Zusammenfassung: Ganz gleich, ob der Name enthält .exe wird der Prozess beendet. Sie müssen ".exe nicht vom Prozessnamen" weglassen. Es funktioniert 100%.
ein einfaches '.Replace (". Exe "," ")' auf der oberen gewählten Antwort würde dies mit viel weniger verworrenen und unnötigen Code tun – AndrewK
Die ganze Idee davon ist es, die Methode mit oder ohne .exe so Leute zu sehen kann mehrere Möglichkeiten sehen, damit umzugehen ... Es ist nicht zum Kopieren und Einfügen gedacht .... – user7993881
Wenn Sie Kill-Prozess durch teilweisen Namen benötigen, siehe http://stackoverflow.com/questions/14632162/c-sharp-killing-a-process-by-a-part-of-its-name?rq=1 . –