title: Reading from pipe in python is imposiible
body: <p>Hello I have the following code in python 2.6:</p>
  
  <pre><code>command = "tcpflow -c -i any port 5559"
  port_sniffer = subprocess.Popen(command, stdout=subprocess.PIPE, bufsize=1, shell=True)
  while True:
      line = port_sniffer.stdout.readline()
      #do some stuff with line
  </code></pre>
  
  <p>The purpose of this code is to sniff the traffic between two processes (A and B) that communicate on port 5559.</p>
  
  <p>Now let me describe the different scenarios I am having:</p>
  
  <p>1) Code above is not running:
  A and B are communicating and i can see it clearly using logs and the linux command <code>netstat -napl | grep 5559</code> shows that the processes are communicating on the desired port.</p>
  
  <p>2) Code above is not running and I am sniffing by running <code>tcpflow -c -i any port 5559</code> directly from shell:
  I can see the communication on console clearly :-).</p>
  
  <p>3) Code above is running: Proccesses can't communicate. <code>netstat -napl | grep 5559</code> prints nothing and logs give out errors!!!</p>
  
  <p>4) Code above is running in debug mode: I can't seem to be able to step after the line <code>line = port_sniffer.stdout.readline()</code></p>
  
  <p>I tried using an iterator instead of a while loop (not that it should matter but still I am pointing it out). I also tried different values for bufsize (none, 1, and 8).</p>
  
  <p>Please help!!</p>