그래서 나는 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의 모든 인스턴스가 완료되기를 기다렸다가 현재 진행하고 있지만 중요하지 않은 것들의 백그라운드 동기화를 기다리는 것입니다. 이것들은 내가 기다리고 싶지 않은 더 큰 파일입니다.
nohup, disown 및 &의 차이점을 읽고 다른 조합을 시도했지만 원하는 결과를 얻지 못했습니다.
이 시점에서 나는 꽤 충격을 받았습니다. 도움을 주시면 감사하겠습니다!
wait
완전히 사용하지 않을 수도 있습니다. 내가 할 의미 영업 이익이 모두 실행 된 것 같은데요하지만rsync
그들을 배경 처리 의미 병렬 프로세스, 둘 다 (함께&
) 한 후 사용하여wait
. 어쨌든 이것이 문제를 해결하는 가장 간단한 방법이며 질문의 정보를 기반으로 선택한 방법이라는 데 동의합니다.