解决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 25 Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 Python
Python 3中print函数的使用方法总结
Aug 08 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
基于Python 装饰器装饰类中的方法实例
Apr 21 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
python图像处理入门(一)
Apr 04 Python
Dlib+OpenCV深度学习人脸识别的方法示例
May 14 Python
python实现在函数图像上添加文字和标注的方法
Jul 08 Python
Keras模型转成tensorflow的.pb操作
Jul 06 Python
Python Unittest原理及基本使用方法
Nov 06 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
javascript some()函数用法详解
2014/11/13 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
RR vs IO BO3 第二场2.13
2021/03/10 DOTA
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
Vue.js中的图片引用路径的方式
2017/07/28 Javascript
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
基于nodejs res.end和res.send的区别
2018/05/14 NodeJs
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python基于codecs模块实现文件读写案例解析
2020/05/11 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
美国购车网站:TrueCar
2016/10/19 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
后勤工作职责
2013/12/22 职场文书
开业庆典活动策划方案
2014/09/21 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
先进集体申报材料
2014/12/25 职场文书
保留意见审计报告
2015/06/05 职场文书
python脚本框架webpy模板赋值实现
2021/11/20 Python