2015-06-22 176 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

將不會執行引用文檔中列出的任何內容,包括等待進程終止。所以以前的流程都不會阻止創建新的流程。 –