通过.exe文件名杀死一些进程

如何通过在C#.NET或C ++中search它们的.exe文件名来杀死一些活动进程?

快速回答:

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

(从进程名称中删除.exe)

我的解决scheme是:

 var chromeDriverProcesses = Process.GetProcesses(). Where(pr => pr.ProcessName == "chromedriver"); foreach (var process in chromeDriverProcesses) { process.Kill(); } 

您可以使用Process.GetProcesses()获取当前正在运行的进程,然后使用Process.Kill()来终止一个进程。

 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"); 

总结:无论名称是否包含.exe,进程都会结束。 您不需要“从进程名称中删除.exe”,它工作100%。

我的停止和启动过程的答案是:

 private void btnLidhu_Click(object sender, EventArgs e) { //start and stop porcess foreach (var process in Process.GetProcessesByName("ProcessName")) { process.Kill(); } string fileappname = @"root"; var p = new System.Diagnostics.Process(); p.StartInfo.FileName = fileappname; p.StartInfo.Arguments = "1 1"; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = true; p.Start(); }