paramikoで動作するように配管を行うことに問題があります。Paramiko:読み込み中にブロックが永久にブロックされる
これは動作します:
ssh = paramiko.SSHClient()
[...]
stdin, stdout, stderr = ssh.exec_command("find /tmp")
stdout.read()
このない仕事ん(stdout.readに永遠にブロックを()):
[...]
stdin, stdout, stderr = ssh.exec_command("bash -")
stdin.write("find /tmp\n")
stdin.close()
stdout.read()
任意のアイデア?
EDIT:
私はparamikoのソースコードを見て、そしてChannelFile.closeは本当にコミュニケーションの面で何もしません。だから私は、チャネルのAPIを見て、これが動作しているようです:
stdin.write("find /tmp\n")
stdin.flush()
stdin.channel.shutdown_write()
stdout.read()
ええ、私は自分自身をすでに理解していましたが、私は自分自身の疑問にまだ答えることはできません: – hmn
BTW、こちらもアドレス:https://github.com/robey/paramiko/pull/43 – hmn
正しいリンクはhttps://github.com/paramiko/paramiko/pull/43になりました –