0
这里是我使用paramiko shell包的python代码,返回值r是7
而不是0
。但是,如果我在远程shell中运行相同的命令,并echo $?
,它返回0
为什么stdout.channel.recv_exit_status的返回值是'7'而不是'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'
检查'stdout'和'stderr'中的内容。 – pynexj
我无法复制。我尝试了相同的一组命令,但得到了'0'。你可以:1.从cmd中删除'--fail -s'和'>/dev/null',2.打印'stdout'和'stderr'? – hansaplast
@whjm,** stdin **和** stderr **都给出了与** stdout **相同的结果,它们全都返回'7' – georgewhr