解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题


Posted in Python onJuly 14, 2020

Python - paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决

1、使用 paramiko 模块ssh 登陆到 linux 执行nohup命令不生效

# 执行命令
def command(ssh_config, cmd, result_print=None, nohup=False):
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(hostname=ssh_config.hostname, port=ssh_config.port, username=ssh_config.username,
        password=ssh_config.password)
  print(ssh_config.hostname + '@' + ssh_config.username, ': ', cmd)
  stdin, stdout, stderr = ssh.exec_command(cmd)
  result = stdout.read()
  if result_print:
    lines = read_unicode(result)
    for line in lines:
      print(line)
  ssh.close()

因为执行完毕后,shell 会立即关闭通道

2、稍作修改,使用 invoke_shell

# 执行命令
def command(ssh_config, cmd, result_print=None, nohup=False):
  ssh = paramiko.SSHClient()
  ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  ssh.connect(hostname=ssh_config.hostname, port=ssh_config.port, username=ssh_config.username,
        password=ssh_config.password)
  print(ssh_config.hostname + '@' + ssh_config.username, ': ', cmd)
  if nohup:
    cmd += ' & \n '
    invoke = ssh.invoke_shell()
    invoke.send(cmd)
    # 等待命令执行完成
    time.sleep(2)
  else:
    stdin, stdout, stderr = ssh.exec_command(cmd)
    result = stdout.read()
    if result_print:
      lines = read_unicode(result)
      for line in lines:
        print(line)
  ssh.close()

到此这篇关于解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题的文章就介绍到这了,更多相关Python paramiko 模块远程执行ssh 命令 nohup 不生效内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Django imgareaselect手动剪切头像实现方法
May 26 Python
Python素数检测实例分析
Jun 15 Python
Python Property属性的2种用法
Jun 21 Python
python生成excel的实例代码
Nov 08 Python
Python面向对象类的继承实例详解
Jun 27 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
python 如何调用远程接口
Sep 11 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
python中四舍五入的正确打开方式
Jan 18 Python
Python3 使用pip安装git并获取Yahoo金融数据的操作
Apr 08 Python
如何利用Matlab制作一款真正的拼图小游戏
May 11 Python
Pytest中conftest.py的用法
Jun 27 Python
python实现xlwt xlrd 指定条件给excel行添加颜色
Jul 14 #Python
python json.dumps() json.dump()的区别详解
Jul 14 #Python
pandas to_excel 添加颜色操作
Jul 14 #Python
Python数据可视化实现多种图例代码详解
Jul 14 #Python
简单的Python人脸识别系统
Jul 14 #Python
Python局部变量与全局变量区别原理解析
Jul 14 #Python
Python迭代器协议及for循环工作机制详解
Jul 14 #Python
You might like
PHP中10个不常见却非常有用的函数
2010/03/21 PHP
PHP 可阅读随机字符串代码
2010/05/26 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
php动态生成缩略图并输出显示的方法
2015/04/20 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
基于jQuery的计算文本框字数的代码
2012/06/06 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
2015/04/21 Javascript
javascript中eval函数用法分析
2015/04/25 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
微信小程序使用picker实现时间和日期选择框功能【附源码下载】
2017/12/11 Javascript
vue项目关闭eslint校验
2018/03/21 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
详解js 创建对象的几种方法
2019/03/08 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
JS用最简单的方法实现四舍五入
2019/08/27 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
Selenium自动化测试工具使用方法汇总
2020/06/12 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
META-INF文件夹中的MANIFEST.MF的作用
2016/06/21 面试题
管理科学大学生求职信
2013/11/13 职场文书
研究生求职推荐信范文
2013/11/30 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
关于python中模块和重载的问题
2021/11/02 Python
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android