2015-04-04 124 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' 

我相信这将做你的工作!