外付けHDDをできるだけ安全に取り外したい。
umount --lazy
を使いたい:
怠惰なアンマウント。ここでファイル階層からファイルシステムを切り離し、ビジー状態がなくなったらすぐにこのファイルシステムへのすべての参照をクリーンアップします。 (カーネル2.4.11以降が必要です。)
次に、少し遅れて、ファイルシステムがまだ準マウントされているデバイスでファイルが開いているプロセスをすべて強制終了する予定です。
lsof
を使用できません。umount -l
の前にlsof
を使用すると、2つの呼び出しの間に新しいファイルが開かれるという競合が発生します。ファイルシステムではなく、どのプロセスがデバイスにアクセスしているかを確認する方法はありますか?
ボリュームを読み取り専用で再マウントしてみてください。これは、そのボリュームの何も書き込み用に開かれていない場合にのみ機能します。
ファイルを読み取り専用で開くことができる、またはプロセスがそのボリューム上に現在の作業ディレクトリを持っている可能性があるという競合状態を取り除くことはおそらくないでしょうが、ハードウェアを切り離すと、少なくともそのファイルシステムが順番に。
lsof
はデバイスで使用できます:
lsof +f -- /dev/device