Мне больше нравится первый для моих целей, я полагаю, что в «сделать что-то здесь, если процесс не удалось», я могу убить скрипт, который вызвал этот скрипт-обертку для foo, используя его имя.
Я думаю, что первое решение хорошо работает для нескольких детей.В любом случае, мне нужно было сделать это быстро, поэтому я использовал хак, который работает для моего приложения:
Я запускаю процесс в фоновом режиме, как обычно, в основном скрипте, затем использую $!чтобы получить его pid (так как $! возвращает последний bg pid), поспите 2 секунды и выполните ps -e |grep pid, чтобы проверить, продолжается ли процесс на основе возвращаемого значения (ps -e | grep pid).Это хорошо работает для меня, потому что, если мой фоновый процесс прерывается, он делает это немедленно (потому что адрес используется).