擅长:python、mysql、java
<p>另一种方法(而不是将shell进程放在后台的其他建议)是使用<a href="http://www.tutorialspoint.com/python/python_multithreading.htm" rel="nofollow">multithreading.</a></p>
<p>然后,您所拥有的<code>run</code>方法将执行如下操作:</p>
<pre><code>thread.start_new_thread ( myFuncThatDoesZGrep)
</code></pre>
<p>要收集结果,可以执行以下操作:</p>
<pre><code>class MyThread(threading.Thread):
def run(self):
self.finished = False
# Your code to run the command here.
blahBlah()
# When finished....
self.finished = True
self.results = []
</code></pre>
<p>在多线程链接中运行上述线程。当线程对象的myThread.finished==True时,可以通过myThread.results收集结果。</p>