Баш: ждать с таймаутом

В скрипте Bash я хотел бы сделать что-то вроде:

<code>app1 &
pidApp1=$!
app2 &
pidApp2=$1

timeout 60 wait $pidApp1 $pidApp2
kill -9 $pidApp1 $pidApp2
</code>

То есть, запустите два приложения в фоновом режиме и дайте им 60 секунд для завершения их работы. Затем, если они не закончат в течение этого интервала, убейте их.

К сожалению, вышесказанное не работает, так какtimeout является исполняемым, аwait это команда оболочки Я попытался изменить его на:

<code>timeout 60 bash -c wait $pidApp1 $pidApp2
</code>

Но это все еще не работает, так какwait может быть вызван только для PID, запущенного в той же оболочке.

Есть идеи?

Ответы на вопрос(5)

Ваш ответ на вопрос