Подпроцесс Python, процесс уничтожения после временной задержки

Я впервые работаю с Python и Raspberry Pi (это Pi 2) и пытается запустить набор команд с заданным временем. Я многое из этого понял, кроме самого конца, где я хочу убить все процессы.

Логика такова:

– Запуск звукового файла (.wav), называемого «обратный отсчет»,

– Запустить другой звуковой файл (.wav) под названием «dixie»

– В то время как dixie запускает команду wget для запуска фотографии на моей камере

– Продолжайте играть в "dixie", пока предыдущий wget не завершит выполнение

– Когда wget заканчивает выполнение, прекратите играть в "dixie"

– Trigger final audio file (.wav), называемый «аплодисменты»,

Остановить звук

По сути, wget является важным, для воспроизведения аудиофайлов просто для создания музыки, пока камера снимает фотографию. Когда wget закончил, а аплодисменты заканчиваются, я хочу убить все аудио, но команда subprocess.Popen для «dixie» продолжает играть (это около 40 секунд). Как я могу убить этот процесс в конце?

Вот мой код:

import os import time import subprocess subprocess.call(["aplay countdown.wav"], shell=True) subprocess.Popen(["aplay dixie.wav"], shell=True) subprocess.call(["wget 'http://10.5.5.9/camera/SH?t=12345678&p=%01' -O-"], shell=True) time.sleep(5) subprocess.call(["aplay applause.wav"], shell=True) subprocess.Popen.kill(["aplay dixie.wav"], shell=True) 

Я хочу убить «дикси», как только «аплодисменты» закончили играть.

Мой код дает ошибку:

 "unbound method kill() must be called with Popen instance as first argument (got list instance instead)" 

Есть ли какие-нибудь предложения?