0
Hier ist der Python-Code, den ich aus Paramiko-Shell-Paket verwenden, ist der Rückgabewert r 7
statt . Allerdings, wenn ich den gleichen Befehl in Remote-Shell laufen, und echo $?
, gibt es 0
Warum ist der Rückgabewert von stdout.channel.recv_exit_status '7' anstelle von '0'
cmd = "curl --fail -s \"http://localhost:%s/\" > /dev/null" %HTTP_PORT
stdin, stdout, stderr = ssh.exec_command(cmd)
while not stdout.channel.exit_status_ready():
r = stdout.channel.recv_exit_status()
print "r is is %d" %(r) #it returns '7'
Überprüfen Sie, was in 'stdout' und' stderr' steht. – pynexj
Ich kann nicht reproduzieren. Ich habe die gleichen Befehle ausprobiert, aber "0". Können Sie: 1. '--fail -s' und'>/dev/null' aus dem cmd entfernen, 2. 'stdout' und 'stderr' drucken? – hansaplast
@whjm, beide ** stdin ** und ** stderr ** gibt das selbe wie ** stdout **, alle geben '7' zurück – georgewhr