2017-01-18 17 views
0

ここで私がparamikoシェルパッケージから使用するPythonコードです。返り値rは0ではなく7です。私は、リモートシェルで同じコマンドを実行し、echo $?場合しかし、それは0なぜstdout.channel.recv_exit_statusの戻り値が '0'ではなく '7'

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. '--fail -s'と'>/dev/null'をcmdから削除します。2. 'stdout'と' stderr'を出力しますか? – hansaplast

+0

@whjm ** stdin **と** stderr **は** stdout **と同じですが、すべてが '7'を返します – georgewhr

答えて

0

を返す問題は、Webサーバーはその期間中に完全にアップしていないということでした。

関連する問題