Парамико пропускает некоторые данные на канале recv
Я пытаюсь выполнить команду, которая прослушивает последовательный порт и печатает на стандартный вывод. Команда работает непрерывно, она невыход или остановка. Когда я использую консоль SSH с замазкой, я вижу, что данные постоянно обновляются на консоли.
Я могу отправить команду и запустить трассировку. Когда я пытаюсь прочитать выходные данные, используя канал Paramiko, прочитайте, используяrecv
функция. Я'Я наблюдаю, что это незахватить все данные, выданные анализатором.
Я выполняюrecv
операция после проверкиrecv_ready
статус.
Ниже приведен код. Как я могу избежать пропуска данных?
ssh= paramiko.SSHClient()
ssh.load_system_host_keys()
ssh.connect('host.example.com')
channel = ssh.get_transport().open_session()
channel.get_pty()
channel.exec_command("sniff /dev/stty2")
while(True):
if(channel.recv_ready): # Doesnt get triggered often
print channel.recv(2048) # Reads only a part of the data