MU_T_FILE="./mu_T_3000_uniform.txt"
PROGRAM_PATH="/Users/jack/Library/Mobile Documents/com~apple~CloudDocs/Research/temperature_model/spgpe-rs/target/release/spgpe"
MAX_JOBS=5
active_jobs=()
while IFS=, read -r mu t; do
for pid in "${active_jobs[@]}"; do
if ! kill -0 $pid 2> /dev/null; then
active_jobs=("${(@)active_jobs:#$pid}")
fi
done
while [ ${#active_jobs[@]} -ge $MAX_JOBS ]; do
sleep 1
for pid in "${active_jobs[@]}"; do
if ! kill -0 $pid 2> /dev/null; then
active_jobs=("${(@)active_jobs:#$pid}")
break
fi
done
done
$PROGRAM_PATH $mu $t false &
active_jobs+=($!)
done < "$MU_T_FILE"
for pid in $active_jobs; do
wait $pid
done
echo "All simulations completed."