gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

1、使用 paramiko 模块ssh 登陆到 linux 执行nohup命令不生效 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 执行命令
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 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 执行命令
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 不生效内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/qq_15071263/article/details/107323963 。

最后此篇关于解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题的文章就讲到这里了,如果你想了解更多关于解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com