2015-06-22 224 views
0

我有十个不同的adb命令,并希望作为一个单独的进程同时执行它。我已经使用了子进程模块&,但进程似乎并没有同时运行。有没有在Python中同时运行进程的有效方法?我的代码段低于如何通过python运行adb命令?

def run(com): 
     sub = subprocess.Popen(command, shell=True, 
      stdout=subprocess.PIPE, 
      stderr=subprocess.STDOUT) 
    return sub.communicate() 
cmd =[adb commands 1 to 10] 
for i in cmd: 
    run(i) 
+0

我想这可能是有用的http://stackoverflow.com/questions/18864859/python-executing-multiple-functions-simultaneously – Andersson

回答

0

只是下降sub.communicate()

Popen.communicate(input=None)与进程互动:发送数据到 stdin。从stdout和stderr中读取数据,直到达到文件结尾。 等待进程终止。可选的输入参数应该是要发送给子进程的 字符串,如果没有数据应该发送给子进程,应该是 。

+0

什么是下降sub.coummunicate()的影响? – MRSK

+0

将不会执行引用文档中列出的任何内容,包括等待进程终止。所以以前的流程都不会阻止创建新的流程。 –