#!/usr/bin/env python3 import subprocess import time my_process = subprocess.Popen('sleep 1', shell=True, stdout=subprocess.PIPE) while True: try: my_process.communicate(timeout=0.00000001) break except subprocess.TimeoutExpired: print('TimeoutExpired for pid %d. Trying again after 1 second...' % my_process.pid, flush=True) time.sleep(1)