- Se você precisar salvar o arquivo intermediário após o processamento, então comunicação entre processos (como através de um tubo ou soquete) não é particularmente valioso. Da mesma forma, se você precisar executar os dois programas em alturas muito diferentes, você deveria fazer do jeito que você está fazendo agora.
-
Quando o Unix foi criado, os discos eram muito pequenos, e era comum um comando bastante benigno para consumir todo o espaço livre em um sistema de arquivos. Por exemplo,
some_command_that_produces_a_lot_of_output | grep some_very_obscure_string
produz uma saída muito menor que o tamanho da saída do primeiro comando (isto é, o tamanho do arquivo intermediário que seria criado se você executou os comandos do jeito que você está executando seus programas).
-
O fluxo de dados através de pipes e soquetes (provavelmente) não é gravado no disco. Portanto, essas soluções de IPC podem ser
- mais eficiente (mais rápido) do que as soluções baseadas em disco.
- mais seguro que as soluções baseadas em disco, se os dados intermediários forem mais sensíveis que o resultado final.