Captura de saída de terminal em Python

Eu quero fazer algo semelhante à segunda resposta aqui (mas não muito semelhante):Simule a interrupção do teclado Ctrl-C no Python enquanto trabalha no Linux

É muito mais simples e acho que estou perdendo alguma coisa. Digamos, de um script python, eu só quero chamar 'ping' e terminá-lo após a décima vez. Estou tentando fazer do link acima:

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)

Mas isso não funciona.

E também quero que a saída regular de 'ping' seja exibida. Como eu faço isso?

EDIT: Não é realmente um 'ping' que eu quero fazer. Eu só estou usando isso como um exemplo de um comando com saída contínua, que com o tempo, gostaria de finalizar.

Mais especificamente, estou executando uma versão antiga do BitTorrent (v5.0.9 da terceira resposta aqui:Onde encontrar o código fonte do BitTorrent?) e eu estou chamando via script python. O bittorrent-console.py é uma versão de terminal simples, portanto, 'console'. Ele gera várias linhas periodicamente. Algo como:

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

Na verdade, estou chamando por:

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

Eu quero terminá-lo automaticamente quando eu vejo que é 100,0 em 'por cento feito:'.

EDIT: Estou rodando no CentOS, Python 2.6.

questionAnswers(2)

yourAnswerToTheQuestion