だから私は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のすべてのインスタンスが完了するのを待ってから次に進むことですが、現在はそうですが、それほど重要ではないもののバックグラウンドrsyncも待機しています。これらは、待ちたくない大きなファイルです。
nohup、disown、&の違いを読み、さまざまな組み合わせを試しましたが、探している結果が得られません。
この時点で私はかなり困惑しています。何か助けていただければ幸いです!
wait
完全に使用しないようにすることもできます。私は何をするものでOPの両方が実行されたものを推測しているもののrsync
、それらをバックグラウンド化を意味して並列にプロセス、両方の(と&
)してから使用してwait
。いずれにしても、これが問題を修正する最も簡単な方法であり、質問の情報に基づいて選択する方法であることに同意します。