Часто при работе с флешками, дисками, образами или другими подобными объектами может возникать ошибка device or resource busy. Она может выводится, когда вы пытаетесь отмонтировать внешний диск, раздел, а также при попытке переместить или удалить файл.
В этой небольшой статье мы рассмотрим, почему может возникать данная ошибка, а также пути её устранения. Конечно, в случае с флешкой вы можете просто вынуть её из компьютера, но это не решение, потому что высока вероятность потерять не сохранённые данные. Есть пути обхода этой проблемы.
Содержание статьи
- Что означает "device or resource busy"?
- Как исправить device or resource busy?
- Выводы
Что означает «device or resource busy»?
Если переводить дословно с английского, то это сообщение означает, что устройство или ресурс занято. Если объяснять более подробно — файл, который вы пытаетесь удалить или диск, который нужно отмонтировать, ещё используется одной из запущенных программ.
Это могло произойти потому, что программа ещё не завершила свою работу, зависла, возникли какие-либо проблемы в процессе её работы. Это актуально как для файлов, так и для съёмных носителей.
Как исправить device or resource busy?
Самое первое, что можно посоветовать — закрыть программы, которые могут использовать этот файл или один из файлов на съёмном носителе. Например, если сейчас воспроизводится один из видеофайлов, то проигрыватель надо закрыть. И только поле этого пробовать ещё раз выполнять операции.

Если вы не знаете какая программа мешает вам выполнить операцию, то это можно очень просто узнать с помощью команды lsof. Просто выполните её и отсейте только те записи, которые относятся к точке монтирования вашего носителя:
lsof | grep /media/sergiy/83AE-2346

Чтобы отсеять нужные процессы в самой утилите, используйте опцию +D, так даже лучше, потому что она не будет показывать системные службы, а отобразит только программу, которую надо завершить:
lsof +D /media/sergiy/83AE-2346

Теперь вы можете видеть все процессы, которые используют файлы на нашем носителе, и завершить их с помощью команды kill. В нашем случае надо завершить плеер totem с PID 5616:
kill -TERM 5616

Также, чтобы посмотреть, какие процессы используют файл, можно использовать команду fuser:
fuser -vm /home/sergiy/83AE-2346

Здесь вы тоже увидите всю необходимую информацию: будет отображаться пользователь, от имени которого запущен процесс. Точно так же можно его завершить:

Если вы закрыли все программы, но это не помогло, можно попытаться очистить файловый кэш системы с помощью такой команды:
sync && echo 2 > /proc/sys/vm/drop_caches
Выводы
В этой небольшой статье мы рассмотрели, как бороться с ошибкой device or resource busy Linux. Как видите, её очень просто исправить, даже если по началу кажется, что совсем непонятно, что можно сделать.


Добавить комментарий