質問: 実際の例ではdupまたはdup2を使用します dup/dup2 はありますが、いつ使用されるのかわかりません。実用的な例はありますか?ありがとう。
回答: 1つの使用例は、i/oリダイレクトです。このためには、子プロセスをフォークし、stdinまたはstdoutファイル記述子(0および1)を閉じてから、選択した別のファイル記述子でdup()を実行します。ケース0または1。これを使用すると、アプリケーションを認識していない可能性のある子プロセスを実行でき、子がstdoutに書き込む(または設定したものは何でもstdinから読み取る)たびに、代わりに提供されたfiledescriptorにデータが書き込まれます。シェルはこれを使用して、パイプなどのコマンドを実装します。 /bin/ls | more 1つのプロセスの標準出力を他のプロセスの標準入力に接続する。