Несколько удаленных SSH через bash-скриптинг - PullRequest
0 голосов
/ 14 сентября 2011

Привет всем,

Я пытаюсь запустить сервер на одном хосте, и у меня одновременно работают 3 клиента на трех разных хостах (в фоновом режиме).

Я сделал bash-скрипт для этого. Проблема в том, что скрипт в настоящее время не ожидает завершения работы клиента: он ssh на каждом хосте последовательно. Я бы хотел, чтобы 3 хоста работали параллельно, пожалуйста.

Вот код:

#!/bin/bash
i="0"
dir="~/bin/"

while [ $i -lt 3 ]
do
  let number=10+$i
  ssh sshost$number 'cd $dir && java Main &' 
  let i=$i+1
done

Я пытаюсь подключить 3 разных хоста (число меняется на каждой итерации), затем перейти в каталог и набрать java Main. Моя единственная проблема в том, что он не будет делать это параллельно, и я не могу понять, как это исправить.

Буду признателен за любую помощь.

Большое спасибо.

1 Ответ

0 голосов
/ 14 сентября 2011

Сделайте команду ssh для запуска в фоновом режиме:

ssh sshost$number 'cd $dir && java Main &' &

Вы можете вызвать wait вне цикла while.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...