時には、以下を削除したいと思います。USBデバイスしかし、エラーがumount /run/media/theDrive
発生します。drive is busy
どのプロセスまたはプログラムがデバイスにアクセスしているかを確認するには?
答え1
lsof | grep /media/whatever
マウントを使用するオブジェクトが何であるかを判断するために使用されます。
また、umount -l
クリーンアップ中に新しいプロセスがドライブを使用できないようにするには、(遅延マウント解除)を検討してください。
答え2
ほとんどの場合、使用するのに最適なコマンドは次のとおりです。ラソフ(「私私SティーああペンFエアーズ")。
lsof +f -- /media/usb0
/media/usb0
マウント解除するUSBドライブまたは他のファイルシステムのマウントポイントはどこにありますか?+f --
lsof に、後続の引数をマウント・ポイントとして処理するよう指示します。通常は(常にではありませんが)それを自分で管理するので、これもlsof /media/usb0
有効です。これは、開かれたファイル(リンクされていないファイルも含む)、メモリマップされたファイル、現在のディレクトリ、およびより曖昧な用途を探します。他のユーザープロセスに関する情報を取得するには、rootとしてコマンドを実行する必要があります(一部のuniceはlsof
rootとして実行する必要があると思います)。
lsofが見つけることができないいくつかの用途があります。これはリムーバブルメディアでは一般的ではありません。これには以下が含まれます。
/foo
マウントポイント:/foo/bar
マウントポイントの場合、マウント解除できません。/foo
マウントされたデバイス:/foo/bar
マウントされたブロックデバイス、ループにマウントされた通常のファイル、またはLinuxバインドマウントのソースの場合は、マウント解除できません。- NFS エクスポート: lsof はカーネル NFS サーバーのエクスポートツリーを検出しません。
緊急事態に使用できるもう1つのコマンドはfusionrです。このコマンドは、ファイルが開いているデバイス上のプロセスのPIDを簡単に一覧表示します。
fuser -m /media/usb0
答え3
ファイルを開く
ファイルを開くプロセスが一般的な原因です。見せてください:
lsof +f -- <mountpoint or device>
/dev/<device>
使用する代わりに使用すると利点があります /mountpoint
。マウントポイントは後で消えたりumount -l
、オーバーライドされたマウントによって隠れることがあります。
fuser
lsof
また、動作しますが、より便利な出力があると思います。しかし、fuser
ドラマを起こす過程をなくし、人生を生き続けることができるときに便利です。
ファイルの一覧表示<mountpoint>
(上記の警告を参照):
fuser -vmM <mountpoint>
書き込み用にファイルを開いたプロセスのみが対話的に終了します。
fuser -vmMkiw <mountpoint>
mount -o remount,ro <mountpoint>
読み取り専用モードで再マウント()した後は、残りのすべてのプロセスを安全に終了できます。
fuser -vmMk <mountpoint>
マウントポイント
犯人はカーネル自体である可能性があります。マウントするファイルシステムの上に別のファイルシステムをマウントすると、umount
問題が発生する可能性があります。調べる:
mount | grep <mountpoint>/
ループバックインストールの場合(Steven Kitに感謝します)、次の出力も確認してください。
losetup -la
匿名インデックスノード(Linux)
匿名インデックスノード次のように作成できます。
- 一時ファイル(
open
含むO_TMPFILE
) - inotifyより
- [イベントFD]
- 【事件調査】
- 【時間制労働者】
これらは最も把握するのが難しいポケモンタイプであり、lsof
熱で( TYPE
a_inode
lsof
マニュアルページ)。
には表示されないので、lsof +f -- /dev/<device>
以下が必要です。
lsof | grep a_inode
匿名 inode を持つプロセスを終了するには、次を参照してください。現在のinotify時計のリスト(パス名、PID)。
inotify
ビュー(Linux)
このコメント理由を説明するinotify
してはいけない除去を防ぐが、このメモ自分のいる状況を説明する〜する:
vx_softcnt_flush()
削除操作中に通話が中断されることがあります。停止は、inotify watchdogがi_count
変数を増やし、v_os_hold value
inotify watchdogが保留を解除するまで保留を高くするために発生します。
答え4
GNOMEを使用している場合、Nautilusを介して削除すると、ドライブにまだ使用中のプロセスと使用中のファイルを知らせるメッセージが表示されます。