列出 `umount --lazy` 之后访问设备的进程

列出 `umount --lazy` 之后访问设备的进程

我想尽可能安全地移除我的外部硬盘。

我想用umount --lazy

懒惰卸载。现在将文件系统从文件层次结构中分离出来,并在该文件系统不再繁忙时立即清除对此文件系统的所有引用。 (需要内核 2.4.11 或更高版本。)

然后,经过短暂的延迟后,我计划终止文件系统仍处于准安装状态的设备上打开文件的所有进程。

  • 我无法使用lsof打开文件的准确列表,因为文件系统对新进程变得不可见。
  • 如果我使用lsofbefore umount -l,则在两次调用之间存在打开新文件的竞争条件。

有没有办法找出哪些进程正在访问设备而不是文件系统?

答案1

lsof可以在设备上使用:

lsof +f -- /dev/device

答案2

您可以尝试以只读方式重新安装该卷。仅当该卷上没有任何内容可供写入时,此操作才有效。

您可能无法摆脱文件可以只读方式打开或进程可以在该卷上拥有其当前工作目录的竞争条件,但如果您分离硬件,那么您至少可以确保其文件系统是为了。

相关内容