“lsof”列表是否包含未同步/延迟的写入?

“lsof”列表是否包含未同步/延迟的写入?

作为有关答案的后续行动未同步的文件我想知道是否lsof将延迟写入算作打开文件?

如果应用程序已关闭文件,但该文件尚未关闭身体上的在设备上,但仍在内核缓冲区中,等待对实际设备的延迟写入,是否将lsof此类文件列为打开状态,或者是否已关闭且不可见lsof?如果没有,是否有办法确定是否需要手动同步?

答案1

它被视为已关闭,并且不会显示。

如果它认为它已打开,您希望它报告什么文件描述符?关闭文件会删除文件描述符。

我认为没有任何命令可以告诉文件是否有缓冲写入。但正如另一个问题中提到的,eject可移动媒体上的命令将在返回之前同步它。关闭系统也会同步所有文件。

这就是为什么在没有首先使用诸如 之类的命令的情况下不应物理删除设备的原因eject

相关内容