umount - デバイスが使用中です。

umount - デバイスが使用中です。

時にはデバイスを削除したい場合があります。

sudo umount /dev/loop0

メッセージを受け取ります

umount: /mnt: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

私は通常コンソールウィンドウ(私の場合はxfce4-terminal)を閉じますumount

この質問はどういう意味ですか?よりスマートな解決策はありますか?

答え1

これは、プロセスがマウントポイントの下に作業ディレクトリまたは開かれたファイルハンドルを持っていることを意味します。最善の方法は、削除する前に問題のあるプロセスを終了し、作業ディレクトリを変更するか、ファイルハンドルを閉じることです。

しかし、Linuxには代替手段があります。umount -l「怠惰な」削除の呼び出しを使用してください。ファイルシステムはマウントされ続けますが、すでに使用されているプロセスを除いて、それらを表示または使用することはできません。問題のプログラムが何らかの方法で終了すると、システムはファイルシステムのマウント解除を「完了」します。

答え2

fuserマウントされたファイルシステムを使用してすべてのプロセスを終了することもできます。

fuser -cuk /mnt

オプション:

-c     
    Same as -m option, used for POSIX compatibility.

-u, --user
    Append the user name of the process owner to each PID.

-k, --kill
    Kill  processes accessing the file. Unless changed with -SIGNAL, SIGKILL is sent. An fuser process
    never kills itself, but may kill other fuser processes. The  effective  user  ID  of  the  process
    executing fuser is set to its real user ID before attempting to kill.kill.

-m NAME, --mount NAME
    NAME specifies a file on a mounted file system or a block device that is  mounted.  All  processes
    accessing  files  on  that  file  system  are  listed.   If  a  directory file is specified, it is
    automatically changed to NAME/. to use any file system that might be mounted on that directory.

自分で確認してくださいシェルの解釈

答え3

端末の削除に干渉する可能性がある状況を発見しましたが、古い質問ですが、回答として共有します。

コンピュータがNFS共有をホストしていて、これらのNFS共有がアンマウントしようとしているデバイスでサポートされている場合は、共有を停止する必要があります。sudo service nfs-kernel-server stop最新バージョンなど、NFSサービスを停止するのが最善です。 Ubuntu上級))。 NFS サーバーが lsof または fusionr に表示されないため、問題を特定するのが難しい場合があります。

答え4

「一般的な解決策」を考えると、これはコンソールウィンドウで実行されているシェルに、そのデバイスのファイルシステム上のディレクトリが現在作業ディレクトリにあることを意味します。

通常、LinuxおよびUnixシステムは、プロセスのファイルシステムに現在の作業ディレクトリがある場合は、ファイルシステムをマウントされたままにすることを強く好みます。

コンソールウィンドウとその中で実行されているシェルを終了する代わりに、コンソールウィンドウcdでそれを使用してその中または下のディレクトリを終了できます。/mnt

関連情報