Skip to content

Commit 5d1de2e

Browse files
committed
fix(tools): kill child process on timeout
Fix
1 parent 30aa4a8 commit 5d1de2e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

source/Nuke.Tooling/IProcess.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public interface IProcess : IDisposable
5454
/// <summary>
5555
/// Calls <see cref="Process.Kill()"/>.
5656
/// </summary>
57-
void Kill();
57+
void Kill(bool entireProcessTree = false);
5858

5959
/// <summary>
6060
/// Waits for the process to exit. If the process is not exiting within a given timeout, <see cref="Kill"/> is called.

source/Nuke.Tooling/Process2.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ public void Dispose()
4242
_process.Dispose();
4343
}
4444

45-
public void Kill()
45+
public void Kill(bool entireProcessTree = false)
4646
{
47-
_process.Kill();
47+
_process.Kill(entireProcessTree);
4848
}
4949

5050
public bool WaitForExit()
@@ -53,7 +53,7 @@ public bool WaitForExit()
5353
// use _process.StartTime
5454
var hasExited = _process.WaitForExit(_timeout ?? -1);
5555
if (!hasExited)
56-
_process.Kill();
56+
_process.Kill(entireProcessTree: true);
5757
return hasExited;
5858
}
5959
}

0 commit comments

Comments
 (0)