public async Task Kill_EntireProcessTree_True_EntireTreeTerminated() { IReadOnlyList <Process> tree = CreateProcessTree(); try { Process parentProcess = tree.First(); parentProcess.Kill(entireProcessTree: true); await Helpers.RetryWithBackoff(() => { var actual = tree.Select(p => p.HasExited).ToList(); Assert.Equal(new[] { true, true, true }, actual); }); } finally { foreach (Process process in tree) { try { process.Kill(); } catch { // Test cleanup code, so ignore any exceptions. } } } }