SystemdDoctor
служба не работает файлы монтирование

Device or resource busy при операции с файлом

Сообщение Device or resource busy (номер 16, EBUSY) означает, что объект используется: точка монтирования занята, устройство открыто, файл держит процесс. Разбор всегда сводится к поиску того, кто держит.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Точку монтирования держит процесс

    Открытый файл или рабочий каталог внутри точки не дают её отмонтировать.

  2. Устройство открыто другой программой

    Последовательный порт, устройство захвата, диск — всё это открывается монопольно. Вторая программа получает отказ.

  3. Файл заменяется во время использования

    Замена файла базы или образа, который открыт процессом, даёт отказ. Это защита от порчи данных.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Процессы, держащие путь.

sudo fuser -vm /путь 2>&1 | head

Открытые файлы по этому пути.

sudo lsof /путь 2>/dev/null | head

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Точку монтирования держит процесс
Почему происходит
Открытый файл или рабочий каталог внутри точки не дают её отмонтировать.
Как проверить
Найдите держащие процессы.
sudo fuser -vm /mnt/data 2>&1 | head
sudo lsof +f -- /mnt/data 2>/dev/null | head
Как исправить
Выйдите из каталога, остановите службу и повторите. Принудительное отмонтирование — крайняя мера: данные могут не успеть записаться.
2. Устройство открыто другой программой
Почему происходит
Последовательный порт, устройство захвата, диск — всё это открывается монопольно. Вторая программа получает отказ.
Как проверить
Посмотрите, кто держит устройство.
sudo fuser -v /dev/ttyUSB0 2>&1 | head
Как исправить
Остановите программу, которая держит устройство. Для служб полезно объявить конфликт, чтобы они не запускались одновременно.
3. Файл заменяется во время использования
Почему происходит
Замена файла базы или образа, который открыт процессом, даёт отказ. Это защита от порчи данных.
Как проверить
Посмотрите, кто держит файл.
sudo fuser -v /var/lib/myapp/data.db 2>&1 | head
Как исправить
Остановите службу перед заменой её файлов. Для программ это делается через выкладку рядом и переименование.

Пример вывода

Точка монтирования занята процессом. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

umount[4300]: umount: /mnt/data: target is busy.

$ sudo fuser -vm /mnt/data
                     USER        PID ACCESS COMMAND
/mnt/data:           app        1200 ..c-- myapp

Связанные ошибки

Источники

  • umount(8): ошибка EBUSY документация программы
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено процессом с открытым файлом на точке монтирования.
    собственная проверка, systemd 255
    сверено 15 сентября 2026