Also habe ich scriptA, das Folgendes tut:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB macht:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Mein gewünschtes Ergebnis ist, dass scriptA auf den Abschluss aller Instanzen von scriptB wartet, bevor es fortfährt, was derzeit der Fall ist. Es wartet jedoch auch auf die Hintergrundsynchronisierungen der nicht so wichtigen Dinge. Dies sind größere Dateien, auf die ich nicht warten möchte.
Ich habe den Unterschied zwischen nohup, disown und & durchgelesen und verschiedene Kombinationen ausprobiert, aber ich erhalte nicht das gewünschte Ergebnis.
An diesem Punkt bin ich ziemlich ratlos. Jede Hilfe wäre dankbar!
quelle
wait
vollständig vermeiden . Obwohl ich vermute, dass das OP beidersync
Prozesse parallel ausführen wollte , würde dies bedeuten, dass beide (mit&
) hinterlegt und dann verwendet werdenwait
. Auf jeden Fall stimme ich zu, dass dies der einfachste Weg ist, das Problem zu beheben, und der, den ich basierend auf den Informationen in der Frage auswählen würde.