Итак, у меня есть scriptA, который делает:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB делает:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Мой желаемый результат - scriptA будет ждать завершения всех экземпляров scriptB, прежде чем двигаться дальше, что он и делает в настоящее время, однако он также ожидает фоновых rsyncs не столь важных вещей. Это большие файлы, от которых я не хочу ждать.
Я прочитал разницу между nohup, disown и & и попробовал разные комбинации, но я не получил желаемого результата.
На данный момент я довольно озадачен. Любая помощь будет оценена!
wait
полностью. Хотя я догадываюсь, что для OP требовалось запустить обаrsync
процесса параллельно, что означало бы задний фон их обоих (с&
) и затем использованиеwait
. В любом случае, я согласен с тем, что это самый простой способ решения проблемы, и я бы выбрал его, основываясь на информации в вопросе.