擅长:python、mysql、java
<p>{cd1>你可以继续跟踪多个进程。不过,问题是读取每个进程的输出而不阻塞任何其他进程。根据平台的不同,有几种方法可以做到这一点:使用<code>select</code>模块查看哪个进程有要读取的数据,使用<code>fnctl</code>模块设置输出管道非阻塞,使用线程来读取每个进程的数据(这是<code>subprocess.Popen.communicate</code>本身在Windows上使用的),因为它没有其他两种选择。)不过,在每种情况下,魔鬼都在细节上。在</p>
<p>可以为您处理所有这些问题的是<a href="http://twistedmatrix.com" rel="nofollow">Twisted</a>,它可以根据需要生成任意多个进程,并可以使用它们生成的数据调用回调(以及其他情况)</p>