Отже, у мене є 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
цілком. Хоча я припускаю , що ОП хотів зробити було запустити обидваrsync
процесу паралельно, що означало б їх фоновий і (з&
) , а потім з допомогоюwait
. У будь-якому випадку я погоджуюся, що це найпростіший спосіб виправити проблему, і це той, який я обрав би, виходячи з інформації, яка міститься в питанні.