Mam więc skrypt A, który:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB wykonuje:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Moim pożądanym wynikiem jest skrypt A, zanim przejdzie dalej, zaczeka na zakończenie wszystkich wystąpień skryptu B, ale obecnie również czeka na synchronizację w tle nie tak ważnych rzeczy. To są większe pliki, na które nie chcę czekać.
Przeczytałem Różnicę między nohup, disown i & i wypróbowałem różne kombinacje, ale nie otrzymuję rezultatu, którego szukam.
W tym momencie jestem dość zakłopotany. Każda pomoc będzie mile widziana!
źródło
wait
całkowicie. Chociaż zgaduję, że OP miał na myślirsync
równoległe uruchomienie obu procesów, co oznaczałoby, że oba z nich byłyby w tle (z&
), a następnie użytewait
. W każdym razie zgadzam się, że jest to najprostszy sposób na rozwiązanie problemu i wybieram go na podstawie informacji zawartych w pytaniu.