解决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 文件重命名工具代码
Jul 26 Python
python uuid模块使用实例
Apr 08 Python
Python 40行代码实现人脸识别功能
Apr 02 Python
Python探索之创建二叉树
Oct 25 Python
numpy求平均值的维度设定的例子
Aug 24 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python中resample函数实现重采样和降采样代码
Feb 25 Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 Python
django教程如何自学
Jul 31 Python
Pandas数据类型之category的用法
Jun 28 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
php对数组排序代码分享
2014/02/24 PHP
php将字符串随机分割成不同长度数组的方法
2015/06/01 PHP
thinkphp框架下实现登录、注册、找回密码功能
2016/04/06 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
PHP cookie,session的使用与用户自动登录功能实现方法分析
2019/06/05 PHP
js获取input标签的输入值实现代码
2013/08/05 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
jQuery的 $.ajax防止重复提交的两种方法(推荐)
2016/10/14 Javascript
JS动态的把左边列表添加到右边的实现代码(可上下移动)
2016/11/17 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
js实现鼠标拖曳效果
2020/12/30 Javascript
[01:13:01]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第三场
2018/04/05 DOTA
python条件和循环的使用方法
2013/11/01 Python
Python实现基本线性数据结构
2016/08/22 Python
Python实现的归并排序算法示例
2017/11/21 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
Django 限制用户访问频率的中间件的实现
2018/08/23 Python
Python装饰器简单用法实例小结
2018/12/03 Python
python读csv文件时指定行为表头或无表头的方法
2019/06/26 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
浅谈Python描述数据结构之KMP篇
2020/09/06 Python
python 如何调用 dubbo 接口
2020/09/24 Python
python3 kubernetes api的使用示例
2021/01/12 Python
HTML5使用ApplicationCache接口实现离线缓存技术解决离线难题
2012/12/13 HTML / CSS
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
质量标语大全
2014/06/12 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
李白故里导游词
2015/02/12 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers
python数字图像处理:图像简单滤波
2022/06/28 Python