Ich benutze Python3 SSH, jetzt kann ich Remote-Gerät anmelden und führen Sie meine Remote-C-Programm, aber das Programm drucken Informationen können nicht auf dem lokalen PC in Echtzeit angezeigt werden. Wenn mein C-Programm setbuf(stdout, NULL);
verwendet, um nicht zu puffern, kann mein PC Echtzeit-Informationen erhalten; Ich möchte wissen, ob das C-Programm nicht nicht puffern, wie kann ich die Remote-Echtzeit-Informationen auf dem lokalen PC bekommen.Warum Paramiko SSH kann nicht die Druckinformationen in Echtzeit
Hier ist mein Code:
def get_ssh_log(hostip, login_name, pw, privaete_key, cmd):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='%s' % hostip, port=22, username='%s' % login_name, password='%s' % pw,key_filename='%s' % privaete_key)
stdin, stdout, stderr = ssh.exec_command("%s" % cmd, bufsize=1)
for line in iter(stdout.readline, ""):
print(line)
ssh.close()
Sie wissen, ' "% s" % cmd' ist nur' cmd' richtig? –
Ich schätze der Kommentar von @JohnZwinck gilt auch für alle anderen Verwendungen des '%' Operators in dieser Funktion. – BlackJack
@JohnZwinck ja, ich weiß "% s"% cmd ist nur cmd; – simon