解决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 相关文章推荐
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
Python遍历目录的4种方法实例介绍
Apr 13 Python
Python中正则表达式的详细教程
Apr 30 Python
python实现ping的方法
Jul 06 Python
基于python中的TCP及UDP(详解)
Nov 06 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
Apr 05 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
python 基于UDP协议套接字通信的实现
Jan 22 Python
python 实现图片裁剪小工具
Feb 02 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函数
2010/01/11 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
使用 js+正则表达式为关键词添加链接
2014/11/11 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
基于jquery实现页面滚动到底自动加载数据的功能
2015/12/19 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
PHP7新特性简述
2017/06/11 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
2017/09/22 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
Python随机生成身份证号码及校验功能
2018/12/04 Python
对Python发送带header的http请求方法详解
2019/01/02 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Python unittest框架操作实例解析
2020/04/13 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
英语翻译系毕业生求职信
2013/09/29 职场文书
函授自我鉴定范文
2014/02/06 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
火锅店营销方案
2014/02/26 职场文书
《满井游记》教学反思
2014/02/26 职场文书
质量承诺书范文
2014/03/27 职场文书
机关党建工作汇报材料
2014/08/20 职场文书
导游词欢迎词
2015/02/02 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python
Ajax实现三级联动效果
2021/10/05 Javascript