Run subprocess and print output to logging
You could try to pass the pipe directly without buffering the whole subprocess output in memory: from subprocess import Popen, PIPE, STDOUT process = Popen(command_line_args, stdout=PIPE, stderr=STDOUT) with process.stdout: log_subprocess_output(process.stdout) exitcode = process.wait() # 0 means success where log_subprocess_output() could look like: def log_subprocess_output(pipe): for line in iter(pipe.readline, b”): # b’\n’-separated lines logging.info(‘got line from … Read more