标签: file operating-system file-handling
如果我在写入文件后没有关闭文件会怎么样?
我们假设我们遇到了too many open files错误,并且由于程序崩溃了。
too many open files
操作系统是否为我处理?如果这会损坏未关闭的文件,我怎么注意到它们已被损坏?
答案 0 :(得分:3)
来自exit()
_exit()会关闭打开的文件描述符,这可能会导致未知的延迟,等待挂起的输出完成。
每个return都会隐藏系统调用以退出,因此操作系统会关闭所有未关闭的描述符。
return
答案 1 :(得分:2)
一般来说,如果您写入文件,然后您的应用程序崩溃,操作系统会将缓冲区刷新到磁盘并为您清理。如果您的程序退出而未明确关闭文件,则会发生相同的情况。这不会损坏文件。
糟糕的情况是当你写一个文件并且有人拔掉电脑上的插头时。