如何解决paramiko执行与否的问题

使用paramiko执行一些耗时比较长的命令的时候会出现实际上命令没有执行完就跳出的问题,怎么才能准确的判断命令执行完与否很重要,通过试验发现如下的方法可以解决这个难题:

dabao_cmd = ‘export JAVA_HOME=/usr/local/jdk1.7.0_55; cd %s; /home/apache-maven-3.2.1/bin/mvn clean install  -Dmaven.test.skip=true‘ % self.pom_file_location

stdin,stdout,stderr = ssh.exec_command(dabao_cmd)

stdout_result = stdout.readlines()
stderr_result = stderr.readlines()

当我们去读取结果的时候程序就会等待命令执行完,这样就能判断出命令是完整的执行了!

时间: 2024-10-15 17:29:06

如何解决paramiko执行与否的问题的相关文章

解决 SqlServer执行脚本,文件过大,内存溢出问题

原文:解决 SqlServer执行脚本,文件过大,内存溢出问题 执行.sql脚本文件,如果文件较大时,执行会出现内存溢出问题,可用命令替代 cmd 中输入 osql -S 127.0.0.1,8433 -U sa -P sa -i d:\sql.sql ,-S 服务器名 -U 用户名 -P 密码 -i 文件地址,等待执行完毕即可 以上在sql2008R2下执行通过 如果数据库是 sql2008的 请将 osql 修改成为 sqlcmd 即可

使用paramiko执行远程linux主机命令

paramiko是python的SSH库,可用来连接远程linux主机,然后执行linux命令或者通过SFTP传输文件. 关于使用paramiko执行远程主机命令可以找到很多参考资料了,本文在此基础上做一些封装,便于扩展与编写脚本. 下面直接给出代码: 1 # coding: utf-8 2 3 import paramiko 4 import re 5 from time import sleep 6 7 # 定义一个类,表示一台远端linux主机 8 class Linux(object):

解决Gradle执行命令时报Could not determine the dependencies of task ':compileReleaseJava'.

Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target android-19 欢迎增加QQ交流3群:317874559 这个问题须要的在project的根文件夹加入两个文件local.properties和settings.gradle这 两个文件 local.properties的内容是:你的SDK文件夹 sdk.dir=C:\\xiong\\android\\adt

python paramiko 执行命令

参考 http://wangwei007.blog.51cto.com/blog/68019/1058726 http://youzao.blog.51cto.com/3946111/1348903 在node1上想对node2执行命令,标准的答案 1.比较直观 #!/usr/bin/env python import paramiko hostname='192.168.0.102' username='root' password='abc' port=22 paramiko.util.lo

解决python执行linux查看文件命令后,因为^@特殊符号导致部分内容不显示的问题

问题现象 文件a的内容如下: 查看第2行到第5行的内容:sed -n '2,5p' /tmp/test/a 可见在命令行执行,是没有问题的. 在python中使用paramiko模块执行linux命令,主要代码如下: def toServer(self, str): sys.setdefaultencoding('utf-8') return str.decode('utf-8').encode('GB18030') def fromServer(self, str): sys.setdefau

解决Hibernate4执行update操作,不更新数据的问题

后台封装java对象,使用hibernate4再带的update,执行不更新数据,不报错. 下面贴出解决方法: 失败的方法 hibernate自带update代码:(失效) Session session = this.getSessionFactory().getCurrentSession(); ession.update(obj); 成功的方法 使用hql语句执行: public void updateUser(String name, String tel,            Str

如何解决shell执行派生子shell问题

笔者今天写了一个shell script,希望简化登录代理服务器的问题,可是script写好之后,却发现没有按照预想的情况下得到环境变量. 为了让大家好理解,贴出script的内容给各位参阅: vim proxy_http.sh 加入如下配置: #!/bin/bash default_domain=cmdschool default_username=will read -p "Please enter you domain(default value is cmdschool): "

paramiko执行命令超时的问题

问题:paramiko远程执行命令,需要等到命令返回信息,如果命令执行时间比较长,返回信息就需要等很久 方案:1.使用nohup + 待执行命令 + & ,使用后台执行的方式,应该可以快速返回 2.设置paramiko的执行命令等待超时时间 stdin, stdout, stderr = self.client.exec_command(cmd,timeout=10,get_pty=True)

解决 EntityFrameworkCore 执行 Add-Migration命令提示无法识别转义符的错误

版本.asp.net core 2.0   EntityFrameworkCore2,0,. 之前执行Add-Migration 命令 提示无法识别的转义序列,各种不成功, 解决办法,找到 项目里面的 project.assets.json 文件用记事本打开,另存为utf-8格式,完美解决 原文地址:https://www.cnblogs.com/wscar/p/8353144.html