2017-01-18 222 views
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' 
+1

检查'stdout'和'stderr'中的内容。 – pynexj

+0

我无法复制。我尝试了相同的一组命令,但得到了'0'。你可以:1.从cmd中删除'--fail -s'和'>/dev/null',2.打印'stdout'和'stderr'? – hansaplast

+0

@whjm,** stdin **和** stderr **都给出了与** stdout **相同​​的结果,它们全都返回'7' – georgewhr

回答

0

的问题是,Web服务器没有在该段时间内全面上涨。

相关问题