Devices

列出在umount --lazy之後訪問設備的程序

  • September 3, 2017

我想盡可能安全地移除我的外置硬碟。

我想使用umount --lazy

懶解除安裝。現在從文件層次結構中分離文件系統,並在它不再忙時清理對該文件系統的所有引用。(需要核心 2.4.11 或更高版本。)

然後經過短暫的延遲後,我計劃在文件系統仍準掛載的設備上終止所有打開文件的程序。

  • 由於文件系統對新程序不可見,因此我無法使用lsof打開文件的準確列表。
  • 如果我使用lsofbefore umount -l,則會在兩次呼叫之間打開一個新文件的競爭條件。

有沒有辦法找出哪些程序正在訪問 DEVICE 而不是文件系統?

您可以嘗試以只讀方式重新安裝卷。僅當該卷上沒有任何內容可供寫入時才有效。

您可能無法擺脫文件可以以只讀方式打開或程序可以在該卷上具有其目前工作目錄的競爭條件,但是如果您分離硬體,那麼您至少可以確定它的文件系統是為了。

lsof可以在設備上使用:

lsof +f -- /dev/device

引用自:https://unix.stackexchange.com/questions/385644