Salida de terminal de captura en Python

Quiero hacer algo similar a la segunda respuesta aquí (pero no muy similar):Simule la interrupción del teclado Ctrl-C en Python mientras trabaja en Linux

Es mucho más simple y creo que me estoy perdiendo algo. Por ejemplo, desde un script de Python, solo quiero llamar 'ping' y terminarlo después de la décima vez. Estoy tratando de hacerlo como en el enlace de arriba:

p = subprocess.Popen(['ping', 'google.com'], stdout=subprocess.PIPE)
for line in p.stdout:
  print line
  if re.search('10', line):
    break
os.kill(p.pid, signal.SIGINT)

Pero no funciona.

Y también quiero que se muestre la salida regular de 'ping'. ¿Cómo hago esto?

EDIT: En realidad no es un 'ping' que quiero hacer. Solo lo estoy utilizando como ejemplo de un comando con salida continua, que en el tiempo me gustaría terminar.

Más específicamente, estoy ejecutando una versión antigua de BitTorrent (v5.0.9 de la tercera respuesta aquí:¿Dónde encontrar el código fuente de BitTorrent?) y lo estoy llamando a través de script python. El bittorrent-console.py es una versión de terminal simple, por lo tanto, 'consola'. Da salida a múltiples líneas periódicamente. Algo como:

saving:       filename
file size:    blah
percent done: 100.0
blah:         blahblah

En realidad lo estoy llamando por:

subprocess.call(['./bittorrent-console.py', 'something.torrent'])

Quiero terminarlo automáticamente cuando veo que es 100.0 en 'por ciento hecho:'.

EDIT: Estoy corriendo en CentOS, Python 2.6.

Respuestas a la pregunta(2)

Su respuesta a la pregunta