Описание тега mp3
Похоже, вы хотите МПК. А не зацикливание над сном и делать тест каждый раз, когда вы это сделаете, вы можете просто ждать, пока дочерний процесс, чтобы сказать, когда его сделали. Это какие трубы для.
Вы можете иметь ребенка доклад процессы родителя. Открыть канал и поделиться с ними. Когда они закончили, они просто нужно, чтобы родитель знает.
суб()( ловушка "Эхо >&9" 0
сон 5
)
эвал "в exec 9<>"<(Эхо);Я=0
пока [ "$((я+=1))" -ГТ 5 ]
сделать суб & читай на <&9
дата +%с:%т"$я"
сделано
Я открываю его с помощью подстановки процессов. Если вы не можете сделать это в вашей оболочки, вы можете вместо этого использовать:
mkfifo трубы; метод exec 9<>трубы; РМ труба; Эхо >&9
Теперь начальная Эхо
добавляет одну строку в трубе - в обоих случаях. Что ставит вас в один процесс ждать впереди со старта - значит, вы будете работать две параллельные процессы все вместе. Этот скрипт использует дату
для отчета на секунд между каждой подгруппы()
вызова. Вот вывод:
34: 1
39: 2
39: 3
44: 4
44: 5
Есть. Теперь, как вы видите, каждые 5 секунд умирает ребенок и когда он делает это эхо
очереди к трубе, что читайте
сейчас на. Как только читаю
найти символ новой строки во входном, он может бросить, что он делает и начать все заново.
Вам просто нужно поставить ловушку
в ваш script_044 который дает дочерние процессы, чтобы позвать отца, когда они пройдут.