解决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的Django框架的运行方式及处理流程
Apr 08 Python
Python自动化运维和部署项目工具Fabric使用实例
Sep 18 Python
python3 pillow生成简单验证码图片的示例
Sep 19 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
python 删除字符串中连续多个空格并保留一个的方法
Dec 22 Python
numpy库与pandas库axis=0,axis= 1轴的用法详解
May 27 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
Django 开发环境与生产环境的区分详解
Jul 26 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
Pycharm配置lua编译环境过程图解
Nov 28 Python
python实现定时发送邮件
Dec 23 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的开合式多级菜单程序
2006/10/09 PHP
PHP insert语法详解
2008/06/07 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
PHP通过API获取手机号码归属地
2015/05/28 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
JavaScript 代码压缩工具小结
2012/02/27 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
vue组件详解之使用slot分发内容
2018/04/09 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法
2015/03/30 Python
python中函数默认值使用注意点详解
2016/06/01 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
Python: 传递列表副本方式
2019/12/19 Python
基于Numba提高python运行效率过程解析
2020/03/02 Python
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
Nº21官方在线商店:numeroventuno.com
2019/09/26 全球购物
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
大学生简单自荐信
2013/11/10 职场文书
加拿大留学自荐信
2014/01/28 职场文书
信息与计算科学专业推荐信
2014/02/23 职场文书
2014最新实习证明模板
2014/10/02 职场文书
公司业务员管理制度
2015/08/05 职场文书
linux下导入、导出mysql数据库命令的实现方法
2021/05/26 MySQL