【发布时间】:2022-02-07 03:52:29
【问题描述】:
我正在编写一个分布式应用程序,我需要使用ssh 在多台机器中生成一些进程。问题是这个命令阻塞了终端,所以我需要这个命令作为一个进程运行。这样我就可以继续发出命令并转移到另一台机器上。
例如
命令类似于:
make run
此命令阻塞了我的终端,但我想通过 ssh 连接到另一台机器并运行此命令和其他命令。
目前我正在使用这个不起作用的脚本:
#!/bin/bash
HOSTS=(ex1 ex2)
COMPILE_SCRIPT="make"
RUN_CHEFS="make run &"
CLIENT_SCRIPT="make client"
# Compile the project
ssh "${HOSTS[0]}" "${COMPILE_SCRIPT}"
# Run the command in the hosts
for HOSTNAME in ${HOSTS[*]} ; do
ssh "${HOSTNAME}" "${RUN_CHEFS}"
done
ssh "${HOSTS[0]}" "${CLIENT_SCRIPT}"
【问题讨论】:
标签: bash shell ssh remote-access