2017-01-18 281 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服務器沒有在該段時間內全面上漲。

相關問題