Powiedziałem, że zamontowałem urządzenie blokowe (wewnętrzny dysk twardy) ~/HD
i próbuję,
~# umount ~/HD
Odpowiada
umount: device is busy.
Teraz zabijam wszystkie procesy ręcznie, badając
~# fuser -m ~/HD
Upewniam się również, że tak naprawdę żaden proces nie ma dostępu do ~/HD
ścieżki
~# lsof | grep HD
Nadal umount ~/HD
mówi device is busy
nawet z -f
opcją.
PS: Nie chcę korzystać z -l
opcji umount
, ponieważ podłączone urządzenie jest tak naprawdę zaszyfrowanym urządzeniem mapującym, które z kolei nie zostanie odmontowane, chyba że urządzenie mapujące zostanie wyraźnie odmontowane.
Więc w zasadzie moje pytanie brzmi jak naprawdę zmusić umount
odłączyć urządzenie lub jaki sposób urządzenie nadal być oznaczony jako zajęty podczas gdy żadne procesy dostępu do niego (lub przynajmniej fuser
a lsof
nie go zgłosić) i co mogę z tym zrobić?
Jestem na Ubuntu 9.10 x64.
Odpowiedzi:
Zobaczysz to zachowanie, jeśli zamontowałeś coś innego w podkatalogu ~ / hd. W takim przypadku ani utrwalacz, ani lsof niczego nie pokażą. Jeśli nic nie zamontowałeś pod ~ / hd ('mount' odpowie na to pytanie), to nie jestem pewien, co sprawdzić.
źródło
Upewnij się, że bieżący katalog roboczy (uruchom „pwd”) nie znajduje się w katalogu ~ / hd. Jeśli aktualnie znajdujesz się w tym katalogu, umount odmówi odmontowania.
źródło
Polecenie lsof powie ci, jakie procesy utrzymują otwarty plik.
źródło
aby zlokalizować aktywne procesy / użytkownicy wykonują:
następnie wykonaj następujące czynności, aby je usunąć:
na końcu zamontuj urządzenie naruszające prawo.
źródło
-M
.Larsks napisał: „Zobaczysz to zachowanie, jeśli zamontowałeś coś innego w podkatalogu ~ / hd. W tym przypadku ani fuser, ani lsof niczego nie pokażą”.
Użycie lsof z grep spowoduje użycie podkatalogu - np. „Lsof | grep HD”.
Miałem ten sam problem, co oryginalny plakat i znalazłem przyczynę, korzystając z powyższego polecenia.
źródło
Próbowałeś użyć synchronizacji ?
Polecenie synchronizacji opróżnia pamięć podręczną systemu plików, wymuszając zapisanie zmienionych bloków na dysku.
źródło
Jeśli naprawdę chcesz po prostu odmontować, możesz użyć umount -f
od człowieka umount :
źródło
Nie mogłem odmontować, ponieważ użytkownik miał otwartą sesję SMB. Warto sprawdzić.
źródło