у меня есть раковина, как этотожидания для всех дочерних процессов в фоновом режиме, чтобы завершить и выйти с кодом возврата процесса в прошлом ребенка
middle.ksh <parameter>
inner1.ksh <para> > Log 2>&1 &
p1=$!
inner2.ksh <para> > log 2>&1 &
p2=$!
inner3.ksh <para> > log 2>&1 &
p2=$!
sleep nnn
inner4.ksh <para> > log 2>&1 & /# L1last process fired
p2=$!
rc=$? /# I am checking the rc for the last process
wait
Я хотел бы сделать что-то вроде этого --find, если ВСЕ процессы, выполненные в фоновом режиме, завершены. - Когда все закончилось, мне бы хотелось, чтобы middle.ksh завершил работу с кодом возврата последнего дочернего процесса - viz inner4.ksh, указанным выше. Другими словами, я хочу сказать, что middle.ksh побежал нормально, если все процессы, которые он запускал внутри, преуспели (внутренний 1..4) & & inner4.ksh удалось. Если файл inner4.ksh не удался - средний.ksh потерпел неудачу. Теперь я могу собрать каждый PID и сказать wait p1 p2 p3 etc
Проблема в том, что все эти дочерние оболочки написаны динамически в обертке (middle.ksh), поэтому я не знаю, сколько inner.ksh там может быть 10-может быть 100 Can это делается легко - или я что-то упускаю. ти