Comment puis-je tuer certains processus actifs en recherchant leurs noms de fichiers .exe dans C# .NET ou C++?Kill certains processus par le nom de fichier .exe
Répondre
rapide Réponse:
foreach (var process in Process.GetProcessesByName("whatever"))
{
process.Kill();
}
(laisser hors .exe du nom du processus)
Thanx tant .. –
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
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
Vous pouvez utiliser Process.GetProcesses()
pour obtenir les processus en cours d'exécution, puis Process.Kill()
pour arrêter un processus.
Process.GetProcessesByName simplifierait cela. – ConsultUtah
Thanx tant .. –
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
Ma solution est:
var chromeDriverProcesses = Process.GetProcesses().
Where(pr => pr.ProcessName == "chromedriver");
foreach (var process in chromeDriverProcesses)
{
process.Kill();
}
vous pouvez utiliser Contient au lieu de l'égalité –
Funny coïncidence est, je cherchais dans ce fil une solution pour tuer le chromedriver. Doit être un problème commun. – 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");
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%.
un simple '.Replace (". Exe "," ")' sur la réponse votée haut ferait avec un code beaucoup moins alambiquée et inutile – AndrewK
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
Si vous avez besoin de tuer le processus par nom partiel voir http://stackoverflow.com/questions/14632162/c-sharp-killing-a-process-by-a-part-of-its-name?rq=1 . –