Fala Itamar,
muito me honra vc ter lido meu livro já que aprecio muito as suas respostas na lista.
Estive fora do meu reduto toda a semana, dei uma quicada em casa e já estou fora novamente. Nesse tempinho que passei em paz, vi uma thread muito longa e resolvi dar um pitaco sem me ater muito aos detalhes. Qdo vi que vc falou do meu livro, me liguei e expliquei que o FIFO era só do processo "tagarela" para o "orelhão", pois não lembro se isto está muito claro no texto (se não estiver, farei estar na próxima edição). Com isso quero dizer que a ideia não foi de retrucar, mas sim esclarecer um ponto que eu poderia ter deixado obscuro.
Por falar nisso, o cmd coproc do bash 4 (para fazer threads) é inteiramente baseado em named pipes, justamente pela facilidade de enfileirar as entradas.
Qto ao Saco de Gatos, ele nada mais é que o famigerado Outros, isto é, coloquei ali tudo que não se encaixava em nenhum capítulo (tenho pensado em realocar algumas coisas dali, como p.ex. Funções, que iriam para o capítulo de Passagem de Parâmetros.
Voltando à dúvida do nosso colega, como vc viu o caso mais a fundo que eu, dá uma olhada no sinal 17, que é acionado toda vez que termina um processo filho e veja se não se aplica a esse caso. Para fazer isso o prg deveria ser disparado em background seu PID capturado com echo $! e toda vez que houvesse um sinal 17 o trap veria se foi aquele PID que terminou, qdo começaria todo o ciclo novamente.