【发布时间】:2011-12-24 13:38:12
【问题描述】:
我在让管道与 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()
有什么想法吗?
编辑:
我查看了 paramiko 的源代码,ChannelFile.close 在通信方面并没有真正做任何事情。所以我查看了通道 API,这似乎有效:
stdin.write("find /tmp\n")
stdin.flush()
stdin.channel.shutdown_write()
stdout.read()
【问题讨论】: