作为有关答案的后续行动未同步的文件我想知道是否lsof
将延迟写入算作打开文件?
如果应用程序已关闭文件,但该文件尚未关闭身体上的在设备上,但仍在内核缓冲区中,等待对实际设备的延迟写入,是否将lsof
此类文件列为打开状态,或者是否已关闭且不可见lsof
?如果没有,是否有办法确定是否需要手动同步?
答案1
它被视为已关闭,并且不会显示。
如果它认为它已打开,您希望它报告什么文件描述符?关闭文件会删除文件描述符。
我认为没有任何命令可以告诉文件是否有缓冲写入。但正如另一个问题中提到的,eject
可移动媒体上的命令将在返回之前同步它。关闭系统也会同步所有文件。
这就是为什么在没有首先使用诸如 之类的命令的情况下不应物理删除设备的原因eject
。