while True:
    result = proc.poll()
if result is not None:
    return result
if time.time() >= end:
    raise RuntimeError('Process timed out')
time.sleep(interval)
Python: запустить процесс и убить его, если он не завершится в течение часа