通过.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(); }