Paramiko如何等待直到cmd完成。 (不能使用exec_command)

时间:2018-08-28 17:00:12

标签: python paramiko

我正在使用Paramiko将SSH切换到不支持使用exec_command()的电信交换机。所以我改用invoke_shell()和send()。

我要执行的操作是ssh,执行cmd,然后sftp文件。 这是一个片段。

<code>
chan.send(cmd4)
time.sleep(5)
if chan.recv_ready():
    result = chan.recv(1024)
    while chan.recv_ready():
        result += chan.recv(1024)
print(result)
exit_status = chan.recv_exit_status()
if exit_status == 0:
    try:
        sftp = ssh.open_sftp()
        sftp.get(remotePath,path) 
        sftp.close()
    except:
        print "sftp error"
else:
    print("exit status not 0")
chan.close()
</code>

问题是该命令可能需要10分钟到2个小时,具体取决于开关。那么,在尝试sftp之前,我将如何等到命令完成?

0 个答案:

没有答案