2015-04-04 64 views
1

在我的程序中,我想用不同的進程訪問多個linux shell。Python linux shell

目前我使用的子進程我沒有一臺linux機器來測試這個目前所以你能告訴我,如果這個工程。

子過程是否在一個終端上工作?如果是的話還有其他選擇嗎?

這有點像什麼,我發展:

import multiprocessing 
import subprocess 

def doSomething(filepath): 
    subprocess.call("somecommands") 
    subprocess.call("somecommands") 

if __name__ == "__main__": 

while True: 
    processList=[] 
    for i in range(numberOfThreads): 
     process=multiprocessing.Process(target=doSomething,args=[files]) 
     process.start() 
     processList.append(process) 
    for process in processList: 
     process.join() 
+0

你在一個終端上是什麼意思? – 2015-04-04 23:28:01

+0

是的,我確實抱歉 – audittxl 2015-04-05 07:52:01

回答

2

,你應該使用,

POPEN

的子模塊,這樣的

功能,我不我認爲你不再需要線程了,因爲它看起來並不像你在認真分享數據一樣。

現在你的代碼應該是什麼樣子,

import subprocess as s_p 
s_p.Popen('Command to be given','*args') 
print 'Process started in a separate shell' 

我相信這將做你的工作!