deadline = time.time() + timeout
while time.time() < deadline and proc.poll() == None:
    time.sleep(poll_seconds)
if proc.poll() == None:
    if float(sys.version[:3]) >= 2.6:
        proc.terminate()
raise Timeout()
stdout, stderr = proc.communicate()
return stdout, stderr, proc.returncode
if __name__ == '__main__':
    print(run(['ls', '-l']))
print(run(['find', '/'], timeout=3))
python: запустить процесс с тайм-аутом и зафиксировать stdout, stderr и статус выхода