【问题标题】:running two bash commands simultaneously on two different computers from one script从一个脚本在两台不同的计算机上同时运行两个 bash 命令
【发布时间】:2010-02-14 05:55:56
【问题描述】:

我有一个客户端和一个主机程序(用 c 编写),我想同时从两个不同的远程位置运行它们。因为我必须这样做大约 50 次才能收集数据,所以我不想单独运行它们。一方面,我需要通过 ssh 登录,启动脚本并告诉它将输出写入文件。然后我需要通过 ssh 登录到另一个盒子并告诉它发送数据,然后再重复整个过程 49 次。

我认为我需要做的是从两个单独的窗口运行这两个命令。

如何告诉单个 bash 脚本生成两个窗口,在每个窗口中输入单独的命令,然后返回父窗口?

【问题讨论】:

    标签: multithreading bash


    【解决方案1】:

    除非您的客户端和主机都需要终端,否则您应该能够将它们设置为后台,尤其是当您的输出要写入文件时。

    ssh user@machine1 host_prog args > output file &
    ssh user@machine2 client_prog args &
    

    【讨论】:

    • 谢谢。这是我自己发现的,但我也不知道你可以从 ssh 行启动命令。
    • 要补充的重要一点:您可能希望从进程中获取 pid,以便等待它完成。生成每个进程后,pid 存储在 $# 中。
    猜你喜欢
    • 1970-01-01
    • 2020-09-12
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多