diff --git a/lib/std/process/Child.zig b/lib/std/process/Child.zig index fa824e0aec..2796207496 100644 --- a/lib/std/process/Child.zig +++ b/lib/std/process/Child.zig @@ -428,12 +428,15 @@ pub fn run(args: struct { } try child.spawn(); + errdefer { + _ = child.kill() catch {}; + } try child.collectOutput(&stdout, &stderr, args.max_output_bytes); return RunResult{ - .term = try child.wait(), .stdout = try stdout.toOwnedSlice(), .stderr = try stderr.toOwnedSlice(), + .term = try child.wait(), }; }