Последующие процессы не обязательно завершатся. Когда execN
выходит, он закрывает конец записи канала, который закрывает конец чтения стандартного ввода execN+1
. Но пока execN+1
не попытается прочитать из стандартного ввода, он не заметит, и даже тогда он просто обнаружит, что достиг конца файла; он может продолжить делать другие вещи или выйти, как он решит.
В восходящем направлении, execN-1
не заметит, что execN
вышел и закрыл свой конец чтения канала, пока execN-1
не попытается выполнить запись в его конец канала, после чего он получит сигнал SIGPIPE. Обработчик по умолчанию для этого сигнала - выход, но execN-1
может установить свой собственный обработчик, чтобы решить, когда и когда возникнет такая ситуация.