我在paramiko中写了这段代码:
def TryExecute(hostname='192.168.1.1', user='root', passwd='root'):
ssh = SSHClient()
ssh.set_missing_host_key_policy(AutoAddPolicy())
ssh.connect(hostname, username=user, password=passwd, timeout=3)
#stdin, stdout, stderr = ssh.exec_command("uname -a")
session = ssh.invoke_shell()
session.send("\n")
session.send("echo step 1\n")
time.sleep(1)
session.send("sleep 30\n")
time.sleep(1)
while not session.recv_ready():
time.wait(2)
output = session.recv(65535)
session.send("echo step 2\n")
time.sleep(1)
output += session.recv(65535)
Run Code Online (Sandbox Code Playgroud)
我尝试在我的linux服务器上执行更多命令,问题是我的python代码不等待完成执行命令,例如,如果我尝试执行"sleep 30",则python不等待30秒完成执行命令,怎么解决这个问题?我试试白衣,而recv_ready()蝙蝠不等待:(