`umount --lazy`の後にデバイスにアクセスするプロセスをリストします。

`umount --lazy`の後にデバイスにアクセスするプロセスをリストします。

外付けハードドライブをできるだけ安全に取り外したいです。

私が使用したいumount --lazy

怠惰な除去。これで、ファイル階層からファイルシステムを分離し、廃止された直後にこのファイルシステムへのすべての参照を消去します。 (カーネル2.4.11以降が必要です。)

その後、しばらくして、ファイルシステムがまだ準マウント状態のデバイスでファイルが開いているすべてのプロセスを終了する予定です。

  • lsofファイルシステムが新しいプロセスに表示されなくなるため、開いているファイルの正確なリストは利用できません。
  • lsofbefore を使用すると、2 つの呼び出し間umount -lで新しいファイルを開く競合状態が発生します。

ファイルシステムではなくデバイスにアクセスするプロセスを見つける方法はありますか?

答え1

lsofデバイスで利用可能:

lsof +f -- /dev/device

答え2

ボリュームを読み取り専用で再マウントしてみることができます。これは、ボリュームに書き込む内容がない場合にのみ機能します。

ファイルを読み取り専用で開いたり、プロセスがボリュームに現在の作業ディレクトリを持つ可能性がある競合状態から離れることはできませんが、ハードウェアを取り外すと、少なくともそのファイルシステムが次のようになることを確認できます。そこに。

関連情報