• 利用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

  • 相关阅读:
    Asp.net的安全问题
    周末了
    GDI+ 取得文本的宽度和高度
    Family的解释
    日语:名词并列
    第一次来入住园里
    All About Floats
    smarty的基本配置
    apache:一个ip绑定多个域名的问题
    CSS Overflow属性详解
  • 原文地址:https://www.cnblogs.com/spzhangfei/p/4801745.html
Copyright © 2020-2023  润新知