Catching Terminal Output w Pythonie

Chcę zrobić coś podobnego do drugiej odpowiedzi tutaj (ale nie do końca):Symuluj przerwanie klawiatury Ctrl-C w Pythonie podczas pracy w systemie Linux

To znacznie prostsze i myślę, że coś mi brakuje. Powiedzmy, że ze skryptu Pythona chcę po prostu wywołać polecenie „ping” i zakończyć go po raz dziesiąty. Próbuję to zrobić jak z powyższego linku:

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)

Ale to nie działa.

Chcę też, aby wyświetlało się regularne wyjście „ping”. Jak mam to zrobic?

EDIT: To nie jest tak naprawdę „ping”, który chcę zrobić. Używam go po prostu jako przykładu polecenia z ciągłym wyjściem, które z czasem chciałbym zakończyć.

Dokładniej mówiąc, używam starej wersji BitTorrenta (wersja 5.0.9 od trzeciej odpowiedzi tutaj:Gdzie znaleźć kod źródłowy BitTorrent?) i dzwonię do niego przez skrypt Pythona. Bittorrent-console.py to prosta wersja terminala, stąd „konsola”. Okresowo generuje wiele linii. Coś jak:

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

Właściwie nazywam to:

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

Chcę zakończyć go automatycznie, gdy zobaczę, że jest to 100% w procentach:.

EDIT: Pracuję w CentOS, Python 2.6.

questionAnswers(2)

yourAnswerToTheQuestion