6

ssh を介してプログラムを実行し、その入力をファイルからリダイレクトしたいと考えています。次のコードの動作:

channel.exec_command('cat')
with open('mumu', 'r') as f:
    text = f.read()
    nbytes = 0
    while nbytes < len(text):
        sent = channel.send(text[nbytes:])
        if sent == 0:
            break
        nbytes += sent

(公開鍵認証を想定):

 ssh user@host cat < mumu

ただし、アプリケーションは追加の入力を待ってハングします。これは、標準入力ストリームが閉じられないために発生すると思います。それ、どうやったら出来るの?

4

3 に答える 3

5

shutdown()チャネルで(またはshutdown_write()) を呼び出します。

于 2010-03-31T15:52:31.067 に答える
4

メソッドを呼び出します: channel.shutdown_write()

于 2010-06-22T12:41:31.747 に答える