在我的程序中,我想使用不同的进程访问多个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 :(得分:2)
你应该使用,
POPEN
子进程模块的功能,这样,我认为你不再需要线程,因为它看起来不像是在一个认真分享数据的地方。
现在你的代码看起来像,
import subprocess as s_p
s_p.Popen('Command to be given','*args')
print 'Process started in a separate shell'
我相信这会完成你的工作!