Как я могу понять, что мешает монтированию привязки отключиться?

У меня проблема с тем, что точка монтирования слишком занята, чтобы отключиться. Обычно lsof или fuser скажут мне, какой процесс использует его, но это привязка, поэтому lsof и fuser показывают, что использует как исходную точку монтирования, так и точку монтирования привязки.

Пример:

Установите файловые системы:

$ sudo mkdir /mnt/mount /mnt/bind $ sudo mount /dev/sdb1 /mnt/mount $ sudo mount -o bind /mnt/mount /mnt/bind 

Запустите процесс, который удерживает / mnt / mount слишком занятым, чтобы отключить

 $ sudo dd if=/dev/zero of=/mnt/mount/testfile bs=1 oflag=dsync 

Проверьте, что говорит фьюзер

 $ sudo fuser -m /mnt/mount /mnt/mount: 4022 $ sudo fuser -m /mnt/bind /mnt/bind: 4022 

Проверьте, что говорит lsof

 $ sudo lsof +D /mnt/mount COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dd 4022 root 1w REG 8,17 28545 12 /mnt/mount/testfile $ sudo lsof +D /mnt/bind COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dd 4022 root 1w REG 8,17 40682 12 /mnt/bind/testfile 

Попробуйте отключить оба

 $ sudo umount -v * umount: /mnt/bind (/mnt/mount) unmounted umount: /mnt/mount: target is busy 

Если вы выполните те же шаги, но скажите dd, чтобы записать файл в / mnt / bind / testfile, то unmounting / mnt / mount будет успешным, но отключение / mnt / bind завершится с ошибкой.

Ясно, что имеет значение, в котором монтируется процесс (dd в этом случае), но lsof и fuser не различаются. Есть что-то, что делает?

One Solution collect form web for “Как я могу понять, что мешает монтированию привязки отключиться?”

Благодаря wurtel это стало очевидным:

Хотя оба фьюзера и lsof, используемые в моем вопросе, оба показывают один и тот же процесс, используя обе точки монтирования, после того, как любая из этих команд сообщит вам PID, запустив:

 lsof -p $PID 

точно показывает, какая точка монтирования используется. Немного grepping, и вы настроены.

  • Активность дискового диска FreeBSD 10
  • lsof -p PID vs lsof | grep PID
  • Узнайте, сколько раз файл был открыт?
  • lsof: список только файлов определенного типа
  • Как я могу контролировать, является ли кто-либо (какой-либо процесс) доступ определенным файлом
  • lsof и прослушивающие порты
  • как получить URL-адрес потока флеш-радио
  • Как lsof прикрепить к скрипту PID скрипта?
  • Как правильно вызвать lsof для получения всех TCP-соединений?
  • Msgstr "lsof: невозможно прочитать namelist из / dev / ksyms" в Solaris
  • количество ссылок удаленных файлов
  • Interesting Posts

    Текстовый редактор с отложенным переносом слов

    Изменение / изменение размеров разделов Linux

    sed + удалить строки, содержащие строку, кроме строк с

    Страницы страниц Paginate

    Хотите запустить и подключиться к лёгкому FTP-серверу на моей машине

    Скопируйте специальные данные из нескольких файлов. Затем создайте файл csv с несколькими данными

    Как исправление ошибок точно работает в дистрибутиве? вверх по течению против нисходящего потока

    polkit-gnome-authentication-agent-1 не запускается автоматически после обновления

    Такое же меню grub для двух дистрибутивов GNU / Linux

    Как открыть неизвестный тип файловой системы с диска

    драйвер leds-pwm в linux 3.8

    Ошибка не может открыть tty-output Linux

    Супер сервер (inted / xinetd / …) поставляется с Ubuntu по умолчанию?

    Jessie: невозможно загрузить ядро ​​3.16.0-4-amd64

    Беспроводная карта Intel 6300 не будет работать на CentOS 7 – работала во время установки, хотя!

    Linux и Unix - лучшая ОС в мире.