Python子进程,定时延迟后终止进程

Python子进程,定时延迟后终止进程,python,audio,delay,nonblocking,Python,Audio,Delay,Nonblocking,我第一次使用Python和Raspberry Pi,它是一个Pi 2,并试图触发一组定时命令。我已经解决了大部分问题,但最后我想终止所有进程 逻辑如下: -触发一个名为倒计时的音频文件.wav -触发另一个名为dixie的音频文件.wav -当dixie在玩trigger时,一个wget命令触发我相机上的一张照片 -继续玩dixie,直到前一个wget完成执行 -当wget完成执行时,停止玩dixie -触发名为掌声的最终音频文件.wav -停止所有音频 从本质上讲,wget是最重要的,播放的音

我第一次使用Python和Raspberry Pi,它是一个Pi 2,并试图触发一组定时命令。我已经解决了大部分问题,但最后我想终止所有进程

逻辑如下:

-触发一个名为倒计时的音频文件.wav

-触发另一个名为dixie的音频文件.wav

-当dixie在玩trigger时,一个wget命令触发我相机上的一张照片

-继续玩dixie,直到前一个wget完成执行

-当wget完成执行时,停止玩dixie

-触发名为掌声的最终音频文件.wav

-停止所有音频

从本质上讲,wget是最重要的,播放的音频文件只是为了在我的相机拍照时创作音乐。当wget结束,掌声结束时,我想停止所有音频,但是dixie的subprocess.Popen命令继续播放,大约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)"

有什么建议吗?

我建议这样做:

proc = subprocess.Popen(["aplay dixie.wav"], shell=True)

# do something 

proc.terminate()

谢谢你的建议!但这不管用。掌声结束后,迪克西继续演奏。