Приостановить родительский скрипт, пока не запустятся детские - PullRequest
0 голосов
/ 05 апреля 2020

Надеюсь, у вас замечательный день,

Есть ли способ приостановить родительский сценарий до завершения всех дочерних сценариев?

Я делаю сценарий для сжатия файла в другой сервера и я хочу напечатать сообщение о том, что все журналы были сжаты:

пример:

родительский. sh для сервера в box1 box2 box2 do s sh $ сжатие сервера выполнено

Приостановить выполнение сценария до конца всех дочерних сценариев

после их завершения отобразится следующее

echo "Все файлы были сжаты"


сжатие. sh cd $ path для файла в $ (ls $ path) do gzip $ file done

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

используйте команду " wait " bash. Он будет ожидать завершения всех дочерних процессов.

sleep 5 &
sleep 7 &
wait
echo "All sleeps were completed"
0 голосов
/ 05 апреля 2020

Tnks Я решаю это, запустив дочерний сценарий в фоновом режиме, а затем некоторое время выполняю поиск сценария в заданиях, и, если число равно 0, сценарий продолжается.

...