Często podczas pracy z dyskami flash, płytami, obrazami pojawia się błąd zajętości urządzenia lub zasobu. Może on zostać wyświetlony podczas próby odmontowania dysku zewnętrznego lub partycji albo podczas próby przeniesienia lub usunięcia pliku. W tym artykule omówimy, dlaczego ten błąd może wystąpić, a także sposoby jego naprawienia.
Komunikat oznacza, że urządzenie lub zasób jest zajęty. Jeśli wyjaśnisz bardziej szczegółowo - plik, który próbujesz usunąć lub dysk, który chcesz odmontować, jest nadal używany przez jeden z uruchomionych programów. Może to być spowodowane tym, że program nie zakończył jeszcze swojej pracy, zawiesił się lub wystąpiły jakieś problemy w trakcie jego pracy.
Błąd może wystąpić podczas próby wykonania operacji na pliku, który jest już używany przez inny proces lub program. Często problem związany jest z otwartym plikiem, zablokowanym urządzeniem, połączeniem sieciowym. W przypadku pendrive'a można po prostu usunąć go z komputera, ale nie jest to rozwiązanie, ponieważ istnieje duże prawdopodobieństwo utraty niezapisanych danych. Istnieją sposoby na obejście tego problemu.
Pierwszą rzeczą do zrobienia jest zamknięcie programów, które mogą korzystać z pliku lub jednego z plików na nośniku wymiennym. Jeśli odtwarzany jest jeden z plików wideo, należy zamknąć odtwarzacz. I dopiero potem spróbować ponownie wykonać operacje.
Jeśli nie wiesz, który program uniemożliwia ci wykonanie operacji, możesz to bardzo łatwo sprawdzić za pomocą polecenia lsof. Wystarczy je uruchomić i przesiać tylko te wpisy, które odnoszą się do punktu montowania nośnika:
lsof | grep /media/sergiy/83AE-2346
Możesz także przesiać procesy, których potrzebujesz w samym narzędziu, użyj opcji +D, jest to nawet lepsze, ponieważ nie pokaże usług systemowych, ale pokaże tylko program, który musisz zakończyć:
lsof +D /media/sergiy/83AE-2346
W ten sposób zobaczysz wszystkie procesy, które używają plików na naszym nośniku i zakończysz je za pomocą polecenia kill. W naszym przypadku musimy zamknąć odtwarzacz totem z PID 5616:
$ kill -TERM 5616
Jak sprawdzić, które procesy korzystają z pliku? Użyj polecenia fuser:
fuser -vm /home/sergiy/83AE-2346
Zobaczysz wszystkie niezbędne informacje: użytkownik, w imieniu którego działa proces, zostanie wyświetlony. W ten sam sposób można go zamknąć:
Jeśli zamknąłeś wszystkie programy, ale to nie pomogło, możesz spróbować wyczyścić pamięć podręczną plików systemu za pomocą polecenia takiego jak to:
sync && echo 2 > /proc/sys/vm/drop_caches
To na razie wszystko.