<p>我创建了一个小的音频播放器,可以在我指定的网站上查找有声读物的一章,下载并播放。唯一的问题是,我不能停下来。要播放我使用的mp3文件<code>os.system("afplay chapter.mp3")</code></p>
<p>我曾考虑过创建一个包含<code>os.system</code>调用的线程,但我很确定不能这样暂停它。如果线程是一个循环,我可以锁定它需要访问的变量,然后在我准备继续时解锁它。但由于这个线程只是一行代码,所以看起来不太可能。我还研究了如何创建一个进程并将<code>SIGSTOP</code>发送给它。但不知为什么这行不通。在</p>
<pre><code>import os, signal
from multiprocessing import Process
p = Process(target=play)
p.start()
raw_input("press enter to pause: ")
os.kill(p.pid, signal.SIGSTOP)
</code></pre>
<p>代码只是默默地执行而不停止进程。在</p>
<p>我知道除了afplay还有其他的选择,但现在我只想坚持操作系统打电话。所以我的问题是,如何暂停一行线程或进程?我不需要用process()调用创建一个新进程,而是需要找到afplay的进程id吗?如果是,怎么办?在</p>