首页 新闻 搜索 专区 学院

python调用paramiko模块执行远程linux机器上的shell脚本第一次结果总是不对,第二次就对

0
[待解决问题]

部分代码如下:
cmd = "sh %s"%file1 # 构造执行命令

执行shell指令

stdin, stdout, stderr = ssh_client.exec_command(cmd)
result = stdout.read().decode('utf-8')
success_freq = result.count('SUCCESS')

目的是检查运行shell脚本后的输出内容中的SUCCESS字样次数,如果为3,为正常,但是实际情况为定时执行该程序,第一次检查结果总是2,第二次检查就为3。实际上登录到服务器上手工运行shell脚本,SUCCESS字样次数也是3。

真是奇怪了。忘大神指点迷津。

ray-bk的主页 ray-bk | 菜鸟二级 | 园豆:231
提问于:2022-08-01 14:40
< >
分享
所有回答(1)
0

有可能是cmd 执行的时间比较长, 有时候会超出exec_command timeout. 建议试着增加timeout。
stdin, stdout, stderr = ssh_client.exec_command(cmd, timeout=60)

MissLi12138 | 园豆:202 (菜鸟二级) | 2022-11-25 09:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册