Vì vậy, tôi có scriptA mà:
ssh server1 -- scriptB &
ssh server2 -- scriptB &
ssh server3 -- scriptB &
wait
otherstuffhappens
ScriptB có:
rsync -av /important/stuff/. remoteserver:/remote/dir/.
rsync -av /not/so/important/stuff/. remoteserver:/remote/dir/. &
exit
Kết quả mong muốn của tôi là scriptA sẽ đợi tất cả các phiên bản của scriptB kết thúc trước khi tiếp tục, điều này hiện đang làm, tuy nhiên nó cũng đang chờ các rsyncs nền của những thứ không quá quan trọng. Đây là những tệp lớn hơn mà tôi không muốn chờ đợi.
Tôi đã đọc qua Sự khác biệt giữa nohup, disown và & và thử các kết hợp khác nhau, nhưng tôi không nhận được kết quả mà tôi đang tìm kiếm.
Tại thời điểm này, tôi khá bối rối. Bất kỳ trợ giúp sẽ được đánh giá cao!
wait
hoàn toàn. Mặc dù tôi đoán OP có nghĩa là làm gì để chạyrsync
song song cả hai quá trình, điều đó có nghĩa là làm nền cho cả hai (với&
) và sau đó sử dụngwait
. Trong mọi trường hợp, tôi đồng ý rằng đây là cách đơn giản nhất để khắc phục sự cố và là cách tôi chọn dựa trên thông tin trong câu hỏi.