17

Paramiko を使用して、リモートの Linux マシンからシェル スクリプトを起動します。シェル スクリプトが起動され、コマンドが実行されmake -j8ます。ただし、exec_commandメイク完了前に返品。

ローカル マシンでスクリプトを起動すると、正しく実行されます。

誰かが私にこの振る舞いを説明してもらえますか?

4

1 に答える 1

28

アプリケーションが終了するまで待つ必要があります。exec_command はブロッキング呼び出しではありません。

print now(), "before call"
stdin, stdout, sterr = ssh.exec_command("sleep(10)")
print now(), "after call"
channel = stdout.channel
print now(), "before status"
status = channel.recv_exit_status()
print now(), "after status"
于 2010-07-09T19:07:57.900 に答える