私のアプリケーションでは、open()
呼び出しを使用してファイルを開きます。
私の質問は:
close()
呼び出しを使用して)自動的に閉じられますか?はい、プロセスが終了した理由に関係なく、プロセスが終了するとファイルは自動的に閉じられます。
これは POSIXに文書化されています です。 「 プロセス終了の結果 」では、他の結果の中で:
- 呼び出しプロセスで開いているファイル記述子、ディレクトリストリーム、変換記述子、およびメッセージカタログ記述子はすべて閉じられます。
そして「 プロセスの終了 」では:
プロセスが_ exit()を呼び出したかどうかに関係なく、説明されているプロセス終了の結果が発生することが重要です(おそらくexit())または、シグナルまたはその他の理由により終了しました。
Linuxカーネルプロセス管理について読むことができます。 ここ
プロセスの終了
プロセスが終了すると、カーネルはそのプロセスが所有していたリソースを解放し、その終了を子の親に通知します。