如果删除已由某个进程作为共享库加载的文件,会发生什么情况?可以删除吗?有崩溃吗?
答案1
在类 UNIX 系统(包括 Linux)中,unlink
使用 ing 一个文件(就是这样rm
做的)会从目录中删除它的条目。当 (1) 文件在任何目录中都没有条目并且 (2) 不再由任何进程打开时,文件实际上被删除。只要加载共享库的进程正在运行,该文件就不会被删除,即使它不再具有目录条目。另请参阅 Ulrich Schwarz 和 countermode 提出的问题的答案。
如果删除已由某个进程作为共享库加载的文件,会发生什么情况?可以删除吗?有崩溃吗?
在类 UNIX 系统(包括 Linux)中,unlink
使用 ing 一个文件(就是这样rm
做的)会从目录中删除它的条目。当 (1) 文件在任何目录中都没有条目并且 (2) 不再由任何进程打开时,文件实际上被删除。只要加载共享库的进程正在运行,该文件就不会被删除,即使它不再具有目录条目。另请参阅 Ulrich Schwarz 和 countermode 提出的问题的答案。