Я использовал следующий скрипт bash для параллельного запуска нескольких команд. Он на самом деле ждет, пока все параллельные команды не закончатся, а затем продолжится. Теперь я хочу изменить этот bash таким образом, который ждет только первого «kill», и не имеет значения, что это убийство происходит от выполнения этой команды. Любое предложение для этого?
for cmd in "$@"; do {
echo "Process \"$cmd\" started";
$cmd & pid=$!
PID_LIST+=" $pid";
} done
trap "kill $PID_LIST" SIGINT
echo "Parallel processes have started";
wait $PID_LIST
echo
echo "All processes have completed";