それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

アンマウントしようとしたらビジーで出来ない。

USBディスクをumount出来ないときに、使っているプロセスを探す方法

umount するとビジーになる。

umount するとデバイスBusyでアンマウント出来ない。

takuya@v106:~$ sudo umount /dev/sdc4
umount /media/data: デバイスがビジーです。
       (このデバイスがプロセスによって使われているのであれば、
       lsof(8)やfuser(1)を使って調査するのが有益かもしれません)

ナニカのプロセスが使っているので、ディスク破壊を防ぐためにUmount出来てません、そこでどのプロセスが使っていてBusyになっているか調べる。

私の場合次の方法で調べています。

  1. lsof で確認
  2. Daemonプロセスを確認
  3. loopマウントを確認
  4. ps aux|lessを見ながら思い出す。
  5. それでもダメならシャットダウン。

lsof で確認

lsof で殆どの場合は出てきます。

takuya@v106:~$ sudo lsof /media/data
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/takuya/.gvfs
      Output information may be incomplete.
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
rsync   29631 root  cwd    DIR   8,36     4096       2 /media/data
rsync   29633 root  cwd    DIR   8,36     4096       2 /media/data

Daemonプロセスを確認

たとえばSambaとか。

takuya@v106:~$ sudo /etc/init.d/samba stop

Sambaはlsofで出てこないんですね。。。なんでかな

loop でマウントしてるとか

USBディスクのナカにあるimageファイルをmount -o loop しているとか

takuya@v1046r:~$ mount
#中略
/dev/loop0 on /media/disk-img1 type ext3 (rw)

それでも駄目なら

他にも色々あるだろうけど、これだけ調べてダメなら再起動。

takuya@v106:~$ sudo umount /dev/sdc4
umount /media/data: デバイスがビジーです。
       (このデバイスがプロセスによって使われているのであれば、
        lsof(8)やfuser(1)を使って調査するのが有益かもしれません)
takuya@v106:~$ sudo shutdown -h now

シャットダウンは確実ですねぇ。