プロセスが常に開く3つのファイルは何ですか?

プロセスが常に開く3つのファイルは何ですか?

誰かがプロセスには常に3つの異なるファイルが開いていると述べました。どういう意味ですか?どんなファイルですか?

ベストアンサー1

開いているファイルはディスク上のファイルではありません。ストリーム(擬似ファイル)、stdin(0)、stdout(1)、およびstderr(2)です。以下は関連抜粋ですPOSIX規格:

関連バッファーを持つファイルはストリームと呼ばれ、定義されたタイプFILEへのポインターとして宣言されます。 fopen() 関数は、ストリームに関するいくつかの記述データを生成し、後続のすべてのトランザクションでストリームを指定するポインタを返します。通常、ヘッダーに宣言され、標準のオープンファイルに関連付けられた定数ポインタを持つ3つのオープンストリームがあります。

プログラムの開始時に3つのストリームを事前定義する必要があり、明示的に開く必要はありません。標準入力(標準入力読み取り用)、標準出力(標準出力書き込み用)、標準エラー(診断出力書き込み用)。オープン時に標準エラーストリームは完全にバッファリングされません。標準入力ストリームと標準出力ストリームは、標準入力ストリームと標準出力ストリームが対話型デバイスを参照していないと判断できる場合にのみ完全にバッファリングされます。

おすすめ記事