Python 如何等待由paramiko模块触发的远程脚本完成

Python 如何等待由paramiko模块触发的远程脚本完成,python,multithreading,paramiko,Python,Multithreading,Paramiko,我试图在我的远程机器上执行python脚本 远程命令需要1分钟才能完成[这是一个python脚本,只需在循环中打印一些内容] 我看到我的线程抛出命令并立即出来。 我希望线程等待远程脚本完成 有办法吗 class Thread_cls(threading.Thread): def __init__(self,tid,tname,ip,script): threading.Thread.__init__(self) print 'kkk' self.thread_id=tid

我试图在我的远程机器上执行python脚本 远程命令需要1分钟才能完成[这是一个python脚本,只需在循环中打印一些内容]

我看到我的线程抛出命令并立即出来。 我希望线程等待远程脚本完成

有办法吗

class Thread_cls(threading.Thread):
def __init__(self,tid,tname,ip,script):
    threading.Thread.__init__(self)
    print 'kkk'
    self.thread_id=tid
    self.thread_name=tname
    self.ip=ip
    self.script=script
def run(self):

    print "ENTERED HERE"
    stdin,stdout,stderr=self.connect_to_linux_vm(self.ip).exec_command(self.script)
    exit_status = stdout.channel.recv_exit_status()
    print "out of ssh command"
    #pass
def connect_to_linux_vm(self,ip,uname=None,password=None):
    ssh_linux = paramiko.SSHClient()
    ssh_linux.set_missing_host_key_policy(
    paramiko.AutoAddPolicy())

    ssh_linux.connect(ip, username=uname,
            password=pwd)

    return ssh_linux



obj1=Thread_cls(1,'T1','x.x.x.x',"python TEST.py")
obj1.start()
obj1.join()
换线

stdin, stdout, stderr = self.connect_to_linux_vm(self.ip).exec_command(self.script)
至两行:

ssh = self.connect_to_linux_vm(self.ip)
stdin, stdout, stderr = ssh.exec_command(self.script)

否则,从connect\u到\u linux\u vm返回的SSHClient对象将在调用exec\u命令后立即被销毁,因为没有其他变量仍在引用它。

成功!!谢谢你,伙计!!如果你相信它解决了你的问题,请考虑接受答案。啊,对不起,我错过了。完成!!!!!