解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题

 更新时间:2020年07月14日 14:11:22   作者:简简单单OnlineZuozuo  
这篇文章主要介绍了解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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实现PDF转MP3的示例代码

    Python实现PDF转MP3的示例代码

    我们平常看到很多文件都是PDF格式,网上的各类书籍多为此格式。有时候不方便阅读,或者怕费眼睛伤颈椎,那么有没有一种方法可以把它变为音频,本文就来和大家详细讲讲
    2023-05-05
  • Dephi逆向工具Dede导出函数名MAP导入到IDA中的实现方法

    Dephi逆向工具Dede导出函数名MAP导入到IDA中的实现方法

    这篇文章主要介绍了Dephi逆向工具Dede导出函数名MAP导入到IDA中,通过这个脚本,我们就可以把专业dephi程序分析的结果,转移到IDA专业逆向代码分析的平台,实现联动,需要的朋友可以参考下
    2022-08-08
  • Python读取文件的8种常用方式

    Python读取文件的8种常用方式

    这篇文章主要给大家介绍了关于Python读取文件的8种常用方式,在编程语言中,文件读写是最常见的IO操作,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-09-09
  • Python函数式编程指南:对生成器全面讲解

    Python函数式编程指南:对生成器全面讲解

    今天小编就为大家分享一篇Python函数式编程指南:对生成器全面讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python爬虫爬取股票的北上资金持仓数据

    python爬虫爬取股票的北上资金持仓数据

    这篇文章主要介绍了python爬虫爬取股票的北上资金持仓数据,文章基于python的相关资料展开爬取数据的详细内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • django中path和url函数的具体使用

    django中path和url函数的具体使用

    本文主要介绍了django中path和url函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 用pandas中的DataFrame时选取行或列的方法

    用pandas中的DataFrame时选取行或列的方法

    今天小编就为大家分享一篇用pandas中的DataFrame时选取行或列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • PyCharm 设置SciView工具窗口的方法

    PyCharm 设置SciView工具窗口的方法

    今天小编就为大家分享一篇PyCharm 设置SciView工具窗口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python如何向SQLServer存储二进制图片

    Python如何向SQLServer存储二进制图片

    这篇文章主要介绍了Python如何向SQLServer存储二进制图片,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 详谈python read readline readlines的区别

    详谈python read readline readlines的区别

    下面小编就为大家带来一篇详谈python read readline readlines的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09

最新评论