paramiko-expect中ssh会话的缓冲区大小

时间:2017-07-07 16:53:09

标签: python ssh paramiko

我正在使用paramiko-expect将命令发送到服务器。除非在返回的提示符中有分页选项,否则它按预期工作。 在这种情况下,输出文本缺少每个新页面命令的输出中的第一个字符,有时会挂起。放入buffer_size = 1是唯一可以解决它的问题。

那个解决方案太慢了,我还能做些什么吗?

    interact = SSHClientInteraction(ssh, timeout=300, display=True, buffer_size=1)  
    output = ''
    command = "file search activelog /platform/log/certm.log INFO"
    not_done = True
    interact.send(command)
    while not_done:
        interact_index = interact.expect(['.*Press <enter> for 1 line, <space> for one page, or <q> to quit', '.*Search completed'], timeout=300)
        output += interact.current_output_clean
        if interact_index == 0:
            time.sleep(1)
            interact.send(' ')
        else:
            not_done = False
    print(output)

    ssh.close()

0 个答案:

没有答案