一時ファイルの代わりに名前付きパイプとソケットを使用する利点

一時ファイルの代わりに名前付きパイプとソケットを使用する利点

2つの共同プロジェクトがあります。あるプログラムは単に出力をファイルに書き込み、もう一方のプログラムはファイルからデータを読み込み、フロントエンドで使用できるようにデータをエクスポートします。

名前付きパイプとドメインソケットについて読みましたが、一時ファイルを使用するよりも利点を見つけるのは難しいです。ただ私と形式的にコミュニケーションする方法だったようでした。

答え1

  1. プロセス間通信(パイプやソケットなど)は、処理が完了した後に中間ファイルを保存する必要がある場合に特に役立ちません。同様に、かなり異なる時間に両方のプログラムを実行する必要がある場合は、今と同じ方法で実行する必要があります。
  2. Unixが作成されたとき、ディスクは非常に小さく、かなり穏やかなコマンドは通常ファイルシステムで利用可能なすべてのスペースを消費しました。例えば、

    次を生成するいくつかのコマンドたくさん_of_outputグレブ非常にあいまいな文字列

    生成された出力は次のとおりです。たくさん最初のコマンドの出力サイズ(つまり、コマンドをプログラムとして実行した場合に生成される中間ファイルのサイズ)よりも小さいです。

  3. パイプとソケットを流れるデータは(おそらく)ディスクにまったく書き込まれません。したがって、これらのIPCソリューションは次のとおりです。

    • ディスクベースのソリューションよりも効率的です(より高速です)。
    • 中間データが最終結果よりも敏感な場合、ディスクベースのソリューションよりも安全です。

関連情報