我有以下情况:
在步骤3之后,目录的旧内容由具有完全相同内容的新安装的图像“映射”。
这可以以任何方式影响在安装之前启动原始软件的用户? 我做了一些testing,似乎开始的程序不知道有任何改变,即它们继续运行没有任何错误。 这有点令人惊讶,因为程序之前在旧文件系统中打开了一些文件(库),这在步骤3之后已经消失了。我期望文件描述符在安装之后会改变。
那么怎么没有错误? 尽pipe目录内容已被映射,旧文件是否可以正常运行?
在符合POSIX的文件系统中,打开的文件不会被删除,直到没有人打开它们。 标准库tmpfile使用了相同的行为,它打开一个临时文件,然后删除它。 打开的文件句柄仍然可以被具有文件句柄(或其子)的进程使用,但由于没有文件名,所以没有其他进程可以打开该文件。 mount在某个目录上的时候,预计这样做也是合理的。