Czasami, gdy chcę podłączyć urządzenie, np
sudo umount /dev/loop0
Dostanę wiadomość
umount: /mnt: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Zwykle rozwiązuję ten problem, zamykając okno konsoli (w moim przypadku xfce4-terminal), a następnie umount
.
Co oznacza ten problem? Czy jest jakieś mądrzejsze rozwiązanie?
Odpowiedzi:
Oznacza to, że jakiś proces ma katalog roboczy lub otwarty uchwyt pliku pod punktem montowania. Najlepiej jest zakończyć proces obrażania, zmienić katalog roboczy lub zamknąć uchwyt pliku przed odmontowaniem.
Istnieje jednak alternatywa dla systemu Linux. Korzystanie z
umount -l
połączeń „leniwy” odmontowanie. System plików będzie nadal podłączony, ale nie będzie można go zobaczyć ani używać, z wyjątkiem procesów, które już go używają. Kiedy program naruszający (wyjdzie na jakikolwiek sposób), system „zakończy” odmontowanie systemu plików.źródło
lsof
jest prawdopodobnie najlepszym sposobem.lsof | grep loop0
?Możesz także użyć
fuser
do zabicia wszystkich procesów za pomocą podłączonego systemu plików.Opcje:
Sprawdź sam w wyjaśnieniach .
źródło
Biorąc pod uwagę „zwykłe rozwiązanie”, oznacza to, że powłoka uruchomiona w oknie konsoli ma katalog w systemie plików na tym urządzeniu jako bieżący katalog roboczy.
Linux i Unixy w ogóle bardzo chcą utrzymać zamontowany system plików, jeśli proces ma bieżący katalog roboczy w tym systemie plików.
Możesz po prostu użyć
cd
w oknie konsoli, aby wyjść z katalogu do lub poniżej,/mnt
zamiast zabijać okno konsoli i działającą w nim powłokę.źródło
Odkryłem sytuację, która może zakłócać odmontowywanie urządzenia, które podam jako odpowiedź, mimo że to pytanie jest bardzo stare.
Jeśli na komputerze są hostowane udziały NFS, a którykolwiek z tych udziałów NFS jest wspierany przez urządzenie, które próbujesz odmontować, musisz przestać je udostępniać (najlepiej zrobić to, zatrzymując usługę NFS, np. W
sudo service nfs-kernel-server stop
najnowszych wersjach Ubuntu ). Serwer NFS może nie wyświetlać się w lsof lub utrwalaczu, co może utrudnić identyfikację problemu.źródło