等待直到通过Python在远程计算机上完成任务

等待直到通过Python在远程计算机上完成任务,第1张

等待直到通过Python在远程计算机上完成任务

这确实是在完成之前返回的paramiko SSH
exec_command(shell脚本)返回的副本,但是那里的答案并不十分详细。所以…

如您所见,这

exec_command
是一个 非阻塞 呼叫。因此,您必须使用以下任一方法来等待远程命令的完成:

  • Channel.exit_status_ready
    如果要对命令完成情况进行非阻塞检查(即:池化)
  • Channel.recv_exit_status
    如果您要阻塞直到命令完成(然后返回退出状态-退出状态0表示正常完成)。

在您的特定情况下,您需要稍后:

stdin, stdout, stderr = client.exec_command(filedelete)  # Non-blocking callexit_status = stdout.channel.recv_exit_status()          # Blocking callif exit_status == 0:    print ("File Deleted")else:    print("Error", exit_status)client.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5644816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存