Фоновый процесс subprocess.Popen with Pipe

Я пытаюсь записать и преобразовать поток с помощью python, используя arecord.

В оболочке это более или менее похожая команда:

arecord -B 5000 -f dat | lame -m j -q 5 -V 2 - test.mp3 &

В Python я попробовал это с помощью subprocess.Popen:

reccmd = ["arecord", "-B", "5000", "-f", "dat"]
mp3cmd = ["lame", "-m", "j", "-q", "5", "-V", "2", "-", "test.mp3"]
p = subprocess.Popen(reccmd, stdout=subprocess.PIPE)
p2 = subprocess.Popen(mp3cmd, stdin=p.stdout)
p2.communicate()

Но я не знаю, как включить "&" или что-то подобное в код, чтобы можно остановить запись с помощью команды

killall arecord

7
задан Sven Marnach 7 April 2012 в 21:09
поделиться