linux 远程执行命令失败,在linux中执行远程命令时如何处理错误

我目前正在创建一个类来使用ssh(paramiko)在linux机器上远程执行命令。下面是我使用的代码def connect(self):

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(self.ip, port=self.port, username=self.user,password=self.password,timeout=self.timeout)

time.sleep(10)

return ssh

def runCommands(self,commands):

ssh=self.connect()

channel = ssh.invoke_shell()

time.sleep(10)

for command in commands:

wait=0

while channel.send_ready()!=True:

wait+=1

time.sleep(self.timeout)

if wait==5:

return 0

channel.send(command+'\n')

channel.send("exit\n")

return 1

我这里的问题是,如果命令遇到错误,例如如果我使用'mkdira':“fileexist error”,我如何处理它。我试着用频道.recv(buff_size)但这里的问题是我无法区分错误消息和正常消息。在

提前谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值