from subprocess import Popen, PIPE import time cmd = ';'.join('''\ import sys, time print "start" sys.stdout.flush() time.sleep(2) print "end" '''.splitlines()) p = Popen(['python', '-c', cmd], stdout=PIPE) time.sleep(1) p.terminate() print p.stdout.read()