J'ai donc scriptA qui fait:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB fait:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Mon résultat souhaité est que scriptA attendra que toutes les instances de scriptB se terminent avant de continuer, ce qu'il fait actuellement, mais il attend également les rsyncs d'arrière-plan des choses pas si importantes. Ce sont des fichiers plus gros que je ne veux pas attendre.
J'ai lu Différence entre nohup, disown et & et j'ai essayé différentes combinaisons, mais je n'obtiens pas le résultat que je recherche.
À ce stade, je suis assez perplexe. Toute aide serait appréciée!
wait
entièrement. Bien que je devine ce que l'OP voulait faire, c'était d'exécuter les deuxrsync
processus en parallèle, ce qui signifierait les mettre en arrière-plan tous les deux (avec&
) puis les utiliserwait
. Dans tous les cas, je conviens que c'est la façon la plus simple de résoudre le problème et que c'est celle que je choisirais en fonction des informations contenues dans la question.