私は最近、pipe (すべて小文字) と fork (これもすべて小文字) と呼ばれるものに出くわしました。どうやらパイプは「あるプロセスの標準出力を別のプロセスの標準入力に接続する方法」です。私が理解していないのは、プロセスの標準入力出力がここで何を意味するのかということです。関数が他の関数を呼び出し、それらによって返された値を使用できることは既に知っていますが、パイプの何が特別なのか、なぜパイプが必要なのですか? C/C++ の本でこれらに出くわしたことはありませんが、これは何の謎ですか? 2 つのアプリケーション間で通信する簡単な方法 (ここではプロセスという言葉は使用しません) は、1 つのアプリケーションがファイルを作成し、別のアプリケーションを呼び出して、このファイルを開いてデータを処理し、新しい結果ファイルを作成してから終了することです。元のアプリケーションは処理を続行し、結果ファイルから読み取り、最初に作成したファイルを削除できます。これは、2 つのアプリケーションが通信するための簡単な方法です。.Net フレームワークと複雑なオペレーティング システムの時代では、これはさらに簡単になるはずですよね?
また、フォークとは何ですか?それはC ++に固有のものですか?インターネットのどこかで、fork を使用して C++ アプリケーションから別のアプリケーションを開くことができると読んだことを覚えています。ただし、このアプローチの制限と意味、およびそれが持つ可能性のある欠点については知りません。なぜフォークが必要なのですか?それは何をするためのものか?
誰かが何ページもの情報を書かなければならないことを望んでいません。これらが何であるか、それらが何をするのか、なぜそれらが必要なのか、なぜ私の C/C++ の本がこれら 2 つをカバーしていないのかを理解したいだけです。