return output, return_code
except asyncio.CancelledError:
+ # first, kill the process if it is still running
+ if process.returncode is None:
+ process.kill()
raise
except K8sException:
raise
try:
async with self.cmd_lock:
read, write = os.pipe()
- await asyncio.create_subprocess_exec(
+ process_1 = await asyncio.create_subprocess_exec(
*command1, stdout=write, env=environ
)
os.close(write)
return output, return_code
except asyncio.CancelledError:
+ # first, kill the processes if they are still running
+ for process in (process_1, process_2):
+ if process.returncode is None:
+ process.kill()
raise
except K8sException:
raise