В моем сценарии я установил set -e
, чтобы остановить обработку, если произошла ошибка. Он хорошо работает для всех команд, работающих на переднем плане, но некоторые из моих команд должны выполняться параллельно в фоновом режиме. К сожалению, если фоновый процесс завершился неудачно, скрипт не остановлен, хотя флаг set -e
.set -e и фоновый процесс
Пример работы переднего плана.
#!/bin/bash
set -e
ls -l no_file
sleep 100
Пример с фоновым процессом не работает.
#!/bin/bash
set -e
ls -l no_file &
sleep 100
Как обращаться с отказами фоновых процессов?
Решение с ожиданием PID - это то, что я ищу. Благодарю. – Marcin