如果文件没有关闭,操作系统会关闭它吗?

如果文件没有关闭,操作系统会关闭它吗?

如果一个文件正在被一个进程打开并且没有被任何进程关闭,操作系统会自动关闭该打开的文件吗?

答案1

当可执行文件运行时,操作系统不会扰乱文件描述符的打开/关闭状态。然而,一旦进程终止(无论是正常终止还是非正常终止),如果还有剩余的打开文件描述符,它们将与进程映像一起被销毁。

但作为一般规则,您应该始终显式关闭它们。一个主要优点是,这使得文件可以关闭变得显而易见,因此当您重构/更改代码时,您可以了解可以在哪里关闭它们,而不是让操作系统在终止后执行此操作。

相关内容