Hi, What's wrong with the following code. The program waits indefenitely at 'output = p2.stdout.read()' from subprocess import * p1=Popen(['tr', 'a-z', 'A-Z'],stdin=PIPE,stdout=PIPE) p2=Popen(['tr','A-Z', 'a-z'],stdin=p1.stdout,stdout=PIPE) p1.stdin.write("hello") p1.stdin.close() output = p2.stdout.read() print output -- Thanks Sudheer