我需要找到一种方法来杀死所有使用某个图像路径的进程。我一直发现按名称杀死进程并不总是正确地杀死进程 - 因为它的开发人员无法在构建之间保持相同的名称。
我已经做了一些挖掘,但还没有找到解决方案。想知道这里是否有人可以指出我正确的方向。
我需要找到一种方法来杀死所有使用某个图像路径的进程。我一直发现按名称杀死进程并不总是正确地杀死进程 - 因为它的开发人员无法在构建之间保持相同的名称。
我已经做了一些挖掘,但还没有找到解决方案。想知道这里是否有人可以指出我正确的方向。
Process.GetProcesses()
.First(p => String.Compare(p.MainModule.FileName,filename,true)==0)
.Kill();
这将杀死在特定目录中运行的所有进程
System.Diagnostics.Process.GetProcesses()
.Where(p => Path.GetDirectoryName(p.MainModule.FileName).ToLower().Equals(path.ToLower())
.ToList().ForEach(p => p.Kill());
我相信这就是你想要的
var imagePath = @"C:\applicationfolder";
var processes = Process.GetProcesses()
.Where(p => p.MainModule.FileName.StartsWith(imagePath, true, CultureInfo.InvariantCulture));
foreach (var proc in processes)
{
proc.Kill();
}