private void killProfilerLogsLeftBehind() { var dir = Path.GetTempPath(); var filepattern = "mm_output_*.log"; var files = Directory.GetFiles(dir, filepattern).ToList(); foreach (var file in files) { try { var pid = new ProfilerLogFileNameParser(file).GetProcessID(); if (!Process.GetProcesses().Any(x => x.Id == pid)) { Logger.WriteDebug("Killing profiler log belonging to terminated process: " + file); File.Delete(file); } } catch (Exception ex) { Logger.WriteError(ex.ToString()); } } }