栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

52 介绍几个重要的类

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

52 介绍几个重要的类

通道(Channel)类

        通道(Channel)类是对SSH2 Channel的抽象类,是跨SSH传输的安全隧道。隧道的作用类似于套接字,并且与Python套接字API十分类似。因为SSHv2协议有一种流动窗口控制机制,如果停止从一个通道读取数据,并且这个通道的缓冲区已满,那么服务器将不会往此通道发送任何数据,但是并不会影响同一传输上的其他通道(单个传输上的所有通道都是独立的流量控制通道)。类似地,如果服务器没有读取客户端发送的数据,那么客户端的发送调用可能会阻塞,除非设置了超时,这与正常的网络套接字完全一致。通道Channel类的实例常用于上下文管理。

        通道(Channel)类提供的方法中常用的有以下几个。

(1)close():关闭Channel,关闭后任何对Channel的读写操作均会失败。远程节点将不能接收数据。Channel在传输完成或垃圾收集时自动关闭。

(2)exec_command(*args,**kwds):在服务端执行命令,如果服务器许可,则Channel将直接连接所执行命令的标准输入、标准输出及标准错误输出。当命令执行完毕后,Channel将被关闭,并不再复用。如果想执行另外一个命令,则需要新开一个Channel。当请求服务器被拒绝或Channel被关闭时,将抛出SSHException异常。

(3)exit_status_ready():该方法检查服务端进程是否退出,如果进程已经执行完并退出,则返回True,否则返回False。当程序不想在recv_exit_status方法中阻塞时,可以用此方法来拉取进程状态。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300167.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号