Câu trả lời:
Xem GNU song song để khởi chạy các quy trình con song song. Có cú pháp tương tự như xargs. Từ các tài liệu :
Để nén tất cả các tệp html bằng gzip chạy:
find . -name '*.html' | parallel gzip --best
Tôi không biết liệu đây có phải là cách tốt nhất để làm điều đó không, nhưng đây là những gì tôi nghĩ ra.
Sử dụng: batch.sh [number of processes to use]
đợt.sh:
end=$(( $1 - 1 ))
for i in `seq 0 $end`;
        do
            echo Spawning helper $i of $end
            ./helper.sh $i $1 &
        done
người trợ giúp.sh:
n=$1
for file in ./*; do
   # Your code here v
   echo Processing file: $file
   # ^
   n=$((n+1))
   n=$((n%$2))
done
Điều này sinh ra n quy trình mà mỗi quy trình xử lý một tệp sau đó bỏ qua (n - 1) tệp. Quá trình (i mod n) xử lý tệp thứ i.