WIP: Improved job control / process termination
What does this MR do?
- Correctly terminates windows processes.
- Doesn't require executing taskkill.
Why was this MR needed?
- Ctrl+Break + taskkill doesn't kill all processes started by the runner in some instances.
- Running
taskkill
after each execution is slower.
Are there points in the code the reviewer needs to double check?
The caller only needs to call Wait()
for waiting and cleanup to be handled.
Wait() now handles waiting on the process, and waiting for it to be killed when the context is cancelled. It calls to terminate() in defer, just to be safe also.
Does this MR meet the acceptance criteria?
-
Documentation created/updated -
Added tests for this feature/bug -
In case of conflicts with master
- branch was rebased
What are the relevant issue numbers?
Edited by 🤖 GitLab Bot 🤖