USBディスクをumount出来ないときに、使っているプロセスを探す方法
umount するとビジーになる。
umount するとデバイスBusyでアンマウント出来ない。
takuya@v106:~$ sudo umount /dev/sdc4 umount /media/data: デバイスがビジーです。 (このデバイスがプロセスによって使われているのであれば、 lsof(8)やfuser(1)を使って調査するのが有益かもしれません)
ナニカのプロセスが使っているので、ディスク破壊を防ぐためにUmount出来てません、そこでどのプロセスが使っていてBusyになっているか調べる。
私の場合次の方法で調べています。
- lsof で確認
- Daemonプロセスを確認
- loopマウントを確認
- ps aux|lessを見ながら思い出す。
- それでもダメならシャットダウン。
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
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
シャットダウンは確実ですねぇ。