解决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读取html中指定元素生成excle文件示例
Apr 03 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
如何用Python破解wifi密码过程详解
Jul 12 Python
使用OpenCV circle函数图像上画圆的示例代码
Dec 27 Python
python:解析requests返回的response(json格式)说明
Apr 30 Python
Pytorch高阶OP操作where,gather原理
Apr 30 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
浅析Python requests 模块
Oct 09 Python
python迷宫问题深度优先遍历实例
Jun 20 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读取html并截取字符串的简单代码
2009/11/30 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
php好代码风格的阶段性总结
2016/06/25 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
用js实现in_array的方法
2013/11/05 Javascript
confirm的用法示例用于按钮操作时确定是否执行
2014/06/19 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
Bootstrap模态对话框用法简单示例
2018/08/31 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
node实现简单的增删改查接口实例代码
2019/08/22 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
Weblogc domain问题
2014/01/27 面试题
电子商务网站的创业计划书
2014/01/05 职场文书
预备党员思想汇报
2014/01/08 职场文书
竞选团支书演讲稿
2014/04/28 职场文书
高中教师考核方案
2014/05/18 职场文书
行政监察建议书
2014/05/19 职场文书
2014年财政所工作总结
2014/11/22 职场文书
中秋节慰问信
2015/02/15 职场文书
仙境之桥观后感
2015/06/16 职场文书
离婚民事起诉状
2015/08/03 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
nginx网站服务如何配置防盗链(推荐)
2021/03/31 Servers
浅谈MySQL next-key lock 加锁范围
2021/06/07 MySQL
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript
利用nginx搭建RTMP视频点播、直播、HLS服务器
2022/05/25 Servers
python实现商品进销存管理系统
2022/05/30 Python