async def _get_proc_output( proc: asyncio.subprocess.Process, in_data: Optional[bytes], timeout: Optional[int], text: Union[bool, FormatType], ) -> Tuple[ProcessData, ProcessData, Optional[int]]: stdout: Any stderr: Any try: stdout, stderr = await asyncio.wait_for(proc.communicate(in_data), timeout) except asyncio.TimeoutError: try: proc.kill() except ProcessLookupError: pass raise if text: if text is not StderrOnly and stdout is not None: stdout = stdout.decode(errors="replace").strip() if stderr is not None: stderr = stderr.decode(errors="replace").strip() return stdout, stderr, proc.returncode
async def _get_proc_output(proc: asyncio.subprocess.Process, input: Optional[bytes], timeout: int) -> Tuple[bytes, bytes, Optional[int]]: try: stdout, stderr = await asyncio.wait_for(proc.communicate(input), timeout) except asyncio.TimeoutError: try: proc.kill() except ProcessLookupError: pass raise return stdout, stderr, proc.returncode