Linux(Ubuntu)中有一个进程会打开一个文件进行读取,但不会故意关闭它。进程终止时操作系统是否自动关闭文件描述符?
我的具体情况是在 Rails 应用程序中,我在其中打开一个二进制文件。我的网络服务器产生了多个 Rails 进程。该文件是从每个 Rails 进程中的单例打开的。我需要知道当 Rails 进程终止时这个二进制文件是否会自动关闭。
Linux(Ubuntu)中有一个进程会打开一个文件进行读取,但不会故意关闭它。进程终止时操作系统是否自动关闭文件描述符?
我的具体情况是在 Rails 应用程序中,我在其中打开一个二进制文件。我的网络服务器产生了多个 Rails 进程。该文件是从每个 Rails 进程中的单例打开的。我需要知道当 Rails 进程终止时这个二进制文件是否会自动关闭。
是的,关闭所有打开的描述符是进程终止例程的一部分。您可以在函数中看到它,该do_exit()
函数调用的函数exit_files()
在某些时候也会调用close_files()
.