в настоящее время я пишу bash скрипт, подобный этому:
foo(){
while true
do
sleep 10
done
}
bar(){
while true
do
sleep 20
done
}
foo &
bar &
wait
(я знаю, что нет смысла в таком скрипте, это просто структура)
Теперь Я хочу добавить обработку сигналов с trap -- <doSomething> RTMIN+1
. Это работает сначала. Когда скрипт получает сигнал rtmin + 1, он делает doSomething, но после этого он существует (с кодом выхода 163, который является номером отправляемого сигнала).
Это не то поведение, которое я хочу, я хочу что сценарий после получения сигнала продолжает ждать завершения процессов (в данном случае двух функций) (что, конечно, не произойдет в этом случае, но сценарий должен ждать).
Я пытался это с добавлением ; wait
к тому, что должно быть сделано при получении сигнала, но это не помогает (или я делаю что-то не так).
Кто-нибудь знает, как добиться желаемого поведения?
Спасибо заранее и с наилучшими пожеланиями.