Tema: subprocess
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 14/09/2012, 12:50
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: subprocess

El error es evidente, la variable stdout no esta definido, tampoco stdin ni stderr.

Ademas stdout.read() no va a funcionar hasta que termine el proceso a menos que le des un tamaño a leer.

Aquí un ejemplo funcional:
Código Python:
Ver original
  1. from subprocess import Popen, PIPE, STDOUT
  2.  
  3.  
  4. p = Popen('iperf -u -s -p 5003', shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True)
  5.  
  6. buffer = ""
  7. while True:
  8.     output = p.stdout.read(1)
  9.     if output == '\n':
  10.         print buffer
  11.         buffer = ""
  12.     else:
  13.         buffer += output

Ejecutas ese script y después ejecutas este comando:
Código:
iperf -u -c 127.0.0.1 -l 56 -i 1 -p 5003 -t 3