Os processos são iniciados ao mesmo tempo e serão executados simultaneamente, mas eles não precisam parar ao mesmo tempo. O shell considerará que todo o pipeline foi encerrado (e exibirá um novo prompt) quando os processos ambos tiverem terminado.
Se command2 terminar antes de command1 (ou fechar seu fluxo de entrada padrão) e command1 tentar gravar a saída, não haverá nenhum lugar para essa saída. Então, command1 receberá um sinal SIGPIPE , cuja ação padrão é anular command1 . Mas o próprio command1 pode substituir esse padrão, de modo que ele continue a ser executado. Nesse caso, suas tentativas de gravar a saída produzirão um erro de E / S comum ( EPIPE ) ao qual ele pode reagir do modo que quiser.