|
时间总是流淌的那么快, 5年前学习python的热情劲头恍如昨日,10年写的python多进程脚本,以后备用
- #!/usr/bin/python
- #coding:utf-8
- import pexpect
- from Queue import Queue
- from threading import Thread
- import time
- import sys
- ''' just a practise
- '''
- max_threads = 25
- queue =Queue()
- def Dssh_Cmd(i,q):
- hello_world = 'Are you sure to continue connecting'
- while True:
- a = q.get()
- child = pexpect.spawn('ssh %s@%s "%s"' %(a[1],a[0],a[3]))
- fout = open('log.txt','a')
- child.logfile = fout
- index = child.expect([hello_world,'password:',pexpect.EOF])
- if index == 0:
- child.sendline('yes')
- index = child.expect([hello_world,'password:',pexpect.EOF])
- elif index == 1:
- child.sendline(a[2])
- index = child.expect(pexpect.EOF)
- elif index == 2:
- child.close()
- print '--host:%s --cmd:%s' % (a[0],a[3])
- print child.before
- q.task_done()
- def main():
- f = open(sys.argv[1],'r')
- for line in f.readlines():
- queue.put(line.strip().split(":"))
- for t in range(max_threads):
- worker = Thread(target=Dssh_Cmd,args=(t,queue))
- worker.setDaemon(True)
- worker.start()
- print "main Thread waiting....."
- queue.join()
- f.close()
- print "All Of Done"
- if __name__ == "__main__":
- main()
热情保持下去,努力~ |
|
|