bashrc.d/1-parallel-template

20 lines
316 B
Bash

#!/bin/bash
MAX_JOBS=8
function holdForWork() {
while [[ $MAX_JOBS -le $(jobs -l | wc -l) ]]; do sleep 0.1; done
}
function holdForFinish() {
while [[ $(jobs -lr | wc -l) -gt 0 ]]; do sleep 0.1; done
}
for TASK in TASK_LIST; do
holdForWork
(
echo ""
) &>/dev/null &
done
holdForFinish
echo " ...done!"