Quindi ho scriptA che fa:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB fa:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Il mio risultato desiderato è scriptA attenderà il completamento di tutte le istanze di script B prima di procedere, cosa che attualmente fa, tuttavia sta anche aspettando i rsync in background delle cose non così importanti. Questi sono file più grandi che non voglio aspettare.
Ho letto la differenza tra nohup, disown e & e ho provato diverse combinazioni, ma non sto ottenendo il risultato che sto cercando.
A questo punto sono piuttosto perplesso. Qualsiasi aiuto sarebbe apprezzato!
wait
interamente. Anche se sto indovinando che cosa intendeva fare l'OP era eseguire entrambi irsync
processi in parallelo, il che significherebbe metterli in background entrambi (con&
) e quindi utilizzarewait
. In ogni caso, sono d'accordo che questo è il modo più semplice per risolvere il problema ed è quello che sceglierei in base alle informazioni nella domanda.