zoukankan      html  css  js  c++  java
  • 利用python多线程执行远程linux上命令

    #!/usr/bin/python 
    #-*- coding: utf-8 -*-
    import paramiko
    import threading

    def ssh2(ip,username,passwd,cmd):
        try:
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect(ip,22,username,passwd,timeout=5)
            for m in cmd:
                stdin, stdout, stderr = ssh.exec_command(m)
               #stdin.write("Y")   #简单交互,输入 ‘Y’ 
                out = stdout.readlines()
                #屏幕输出
                for o in out:
                    print o,
            print '%s OK '%(ip)
            ssh.close()
        except :
            print '%s Error '%(ip)

    if __name__=='__main__':
        cmd = ['cal','echo hello!']#你要执行的命令列表
        username = "root"  #用户名
        passwd = "123456"  #密码
        threads = []   #多线程
        print "Begin......"
        for i in 90,98,99:
            ip = '10.1.196.'+str(i)
            a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))
            a.start()        
            threads.append(a)
            # 等待所有线程完成
            for t in threads:
                t.join()
            print "Exiting Main Thread"

    版权声明:QQ:597507041

  • 相关阅读:
    浅谈数论
    浅谈数论
    bzoj2190 [SDOI2008]仪仗队
    bzoj2190 [SDOI2008]仪仗队
    35.QQ大数据模型
    34.函数指针数组和多线程
    33.函数指针相关问题
    32.分配数组的方式
    31.内存分配四大函数以及栈上分配内存
    30.锯齿数组
  • 原文地址:https://www.cnblogs.com/spzhangfei/p/4801745.html
Copyright © 2011-2022 走看看