0
나는 항상 N
함수를 동시에 호출하는 for 루프를 만들고 싶습니다. 그것들은 서로 의존하지 않고,이 루프를 병렬로 실행하기 만하면됩니다.루프가 백그라운드 프로세스를 기다리고 있습니다.
내 생각은 내 기능을 백그라운드 프로세스로 호출하고 모든 N 번째 호출 후에 모든 백그라운드 프로세스를 기다리고 싶습니다.
그러나 어쨌든 그것은 기다리지 않습니다. 확실한 것이 빠졌습니다.
#!/bin/bash
fun(){
for i in {1..5}
do
echo $i
sleep 1s
done
}
N=2
(
for k in {1..8}
do
((i=i%N))
# ((i++==0)) && (echo "waiting for all background processes" && wait) PROBLEM SOLVED:
((i++==0)) && echo "waiting for all background processes" && wait
echo "i = $i"
fun &
done
wait
)
편집 : 그게 문제