0
我試圖做一個實時SSH庫,但通常卡住的東西,我從Long-running ssh commands in python paramiko module (and how to end them)採取此代碼。 但是,這段代碼不打印整個輸出。帕拉米科完成過程之前閱讀所有輸出
我想,當while循環退出channel.exit_status_ready()時,通道仍然有數據要讀取。我一直在試圖解決這個問題,但修復並不是所有的輸入。
如何使這項工作能夠打印所有類型的命令?
import paramiko
import select
client = paramiko.SSHClient()
client.load_system_host_keys()
client.connect('host.example.com')
channel = client.get_transport().open_session()
channel.exec_command("cd/&& ./test.sh")
while True:
if channel.exit_status_ready():
break
rl, wl, xl = select.select([channel], [], [], 0.0)
if len(rl) > 0:
print channel.recv(1024)
test.sh:
echo 1
wait 1
echo 2
wait 1
echo 3
輸出:
1
2
Process finished with exit code 0
感謝。