![“lsof”列表是否包含未同步/延迟的写入?](https://linux22.com/image/75164/%E2%80%9Clsof%E2%80%9D%E5%88%97%E8%A1%A8%E6%98%AF%E5%90%A6%E5%8C%85%E5%90%AB%E6%9C%AA%E5%90%8C%E6%AD%A5%2F%E5%BB%B6%E8%BF%9F%E7%9A%84%E5%86%99%E5%85%A5%EF%BC%9F.png)
作为有关答案的后续行动未同步的文件我想知道是否lsof
将延迟写入算作打开文件?
如果应用程序已关闭文件,但该文件尚未关闭身体上的在设备上,但仍在内核缓冲区中,等待对实际设备的延迟写入,是否将lsof
此类文件列为打开状态,或者是否已关闭且不可见lsof
?如果没有,是否有办法确定是否需要手动同步?
答案1
它被视为已关闭,并且不会显示。
如果它认为它已打开,您希望它报告什么文件描述符?关闭文件会删除文件描述符。
我认为没有任何命令可以告诉文件是否有缓冲写入。但正如另一个问题中提到的,eject
可移动媒体上的命令将在返回之前同步它。关闭系统也会同步所有文件。
这就是为什么在没有首先使用诸如 之类的命令的情况下不应物理删除设备的原因eject
。