ดังนั้นฉันจึงมี 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, บอกเลิกและ &และลองชุดค่าผสมที่แตกต่างกัน แต่ฉันไม่ได้รับผลลัพธ์ที่ต้องการ
ณ จุดนี้ฉันค่อนข้างนิ่งงัน ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม!
wait
ทั้งหมด แม้ว่าฉันคาดเดาสิ่งที่ OP หมายถึงการทำคือใช้ทั้งrsync
กระบวนการในแบบคู่ขนานซึ่งจะหมายถึง backgrounding พวกเขาทั้งสอง (มี&
)wait
แล้วใช้ ไม่ว่าในกรณีใดฉันยอมรับว่านี่เป็นวิธีที่ตรงไปตรงมาที่สุดในการแก้ไขปัญหาและเป็นวิธีที่ฉันเลือกจากข้อมูลในคำถาม