umountコマンドで「busy」エラーが出る場合の対処法【原因プロセス特定】

Linuxシステムでumountを実行すると、以下のように「Target busy」「target is busy」「Device is busy」などと出てエラーになる場合があります。

$ umount /run/media/lintaro/disk/
Error unmounting block device 11:0: GDBus.Error:org.freedesktop.UDisks2.Error.DeviceBusy: Error unmounting /dev/sr0: Target busy.

このような場合、以下のコマンドでマウント先を使用しているプロセスを調べましょう。

fuser -muv マウントポイント

以下の例のように、マウントしているデバイスを使用しているプロセスの情報が出力されます。

$ fuser -muv /run/media/lintaro/disk/
                     USER        PID ACCESS COMMAND
/run/media/lintaro/disk:
                     root     kernel mount (root)/run/media/lintaro/disk
                     lintaro   30085 ..c.. (lintaro)bash

デバイスを使用しているプロセスが分かれば、そのプロセスを終了するか、デバイスを使わない状態にしてから再度umountコマンドを実行しましょう。この例では、bashでマウント先にcdしていたため、umountが失敗していました。このような場合、別のディレクトリにcdしなおせばumountできます。