并行SSH(pssh)带有输出流
创始人
2024-12-18 20:01:39
0

以下是使用并行SSH(pssh)带有输出流的代码示例:

import sys
import subprocess

def execute_command(host, command):
    ssh_command = f'ssh {host} {command}'
    process = subprocess.Popen(ssh_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
    stdout, stderr = process.communicate()
    return (stdout.decode(), stderr.decode())

def parallel_ssh(hosts, command):
    processes = []
    for host in hosts:
        ssh_command = f'ssh {host} {command}'
        process = subprocess.Popen(ssh_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
        processes.append(process)

    for process in processes:
        stdout, stderr = process.communicate()
        print(f'Host: {host}')
        print(f'STDOUT:\n{stdout.decode()}')
        print(f'STDERR:\n{stderr.decode()}')
        print('---')

if __name__ == '__main__':
    # 单个主机执行命令
    host = 'example.com'
    command = 'ls -l'
    stdout, stderr = execute_command(host, command)
    print(f'STDOUT:\n{stdout}')
    print(f'STDERR:\n{stderr}')

    # 并行SSH多个主机执行命令
    hosts = ['example1.com', 'example2.com', 'example3.com']
    command = 'ls -l'
    parallel_ssh(hosts, command)

在上述示例中,execute_command函数用于在单个主机上执行命令,并返回stdout和stderr的输出。parallel_ssh函数用于并行SSH多个主机执行相同的命令,并将每个主机的输出流打印出来。

相关内容

热门资讯

安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...
app安卓系统登录不了,解锁登... 最近是不是你也遇到了这样的烦恼:手机里那个心爱的APP,突然就登录不上了?别急,让我来帮你一步步排查...
安卓系统拦截短信在哪,安卓系统... 你是不是也遇到了这种情况:手机里突然冒出了很多垃圾短信,烦不胜烦?别急,今天就来教你怎么在安卓系统里...
安卓系统要维护多久,安卓系统维... 你有没有想过,你的安卓手机里那个陪伴你度过了无数日夜的安卓系统,它究竟要陪伴你多久呢?这个问题,估计...
windows官网系统多少钱 Windows官网系统价格一览:了解正版Windows的购买成本Windows 11官方价格解析微软...
安卓系统如何卸载app,轻松掌... 手机里的App越来越多,是不是感觉内存不够用了?别急,今天就来教你怎么轻松卸载安卓系统里的App,让...
怎么复制照片安卓系统,操作步骤... 亲爱的手机控们,是不是有时候想把自己的手机照片分享给朋友,或者备份到电脑上呢?别急,今天就来教你怎么...
安卓系统应用怎么重装,安卓应用... 手机里的安卓应用突然罢工了,是不是让你头疼不已?别急,今天就来手把手教你如何重装安卓系统应用,让你的...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...