It can be that signals from the subprocess; or even duplicating the file descriptors interfere with the event mechanism.
You do not need to execute the clear
command to clear the screen - you can do it simply by outputting the ANSI escape code '\033[2J'
:
print '\033[2J'