2017-08-18 14 views
3

ファイルを書き込んだ後でファイルを閉じるとどうなりますか?正しく閉じられていないファイルを開くとどうなりますか?

too many open filesエラーが発生したと仮定して、プログラムがクラッシュします。

OSがそれを処理しますか?そして、これがクローズされていないファイルに損害を与える場合、どのように破損していることに気づくでしょうか?

+0

ファイルがロックされてしまい、編集や修正ができなくなりますが、削除することはできません。そして、これらをオンザフライで作成しているのであれば、おそらくスタックオーバーフローを推測しています。または、巨大なメモリリークが発生し、最終的にアプリケーション、PC、および/またはServerがクラッシュする可能性があります。 –

+0

プロセスを見つけてそれを制御するプロセスを終了させることができれば、コンピュータがこれを処理できます。 –

+0

重複がありますか? https://stackoverflow.com/questions/8175827/what-happens-if-i-dont-call-fclose-in-ac-program –

答えて

2

一般に、ファイルに書き込むと、アプリケーションがクラッシュし、オペレーティングシステムがバッファをディスクにフラッシュしてクリーンアップします。プログラムが明示的にファイルを閉じることなく終了する場合も同じことが起こります。これはファイルにダメージを与えません。

ファイルに書き込みをして誰かがコンピュータでプラグを抜くと、悪い状況になります。

3

)_exit(

exit()

から開いているファイルディスクリプタをクローズし、これが終了するの出力を保留するために待っている、未知の遅延が発生することがあります。

各は、終了するシステムコールを隠すので、非クローズドディスクリプタはOSによって閉じられます。