Я смонтировал удаленную файловую систему, используя sshfs (версия 2.8.4)
sshfs -o allow_root joeuser@example.com: ./example
но размонтировать его не удается
> fusermount -u example
umount: /home/joeuser/example: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
Любые идеи относительно того, что может быть причиной этой ошибки и как ее можно исправить?
ps aux | grep gvfsd-archive
.Я думаю, что вы хотите, чтобы ленивый демонтировать
источник
Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem *as soon as it is not busy* anymore
. Так что это не решит исходную проблему. Согласился с @Gilles,lsof
должен помочь тут.umount -l
работал.У меня просто была эта проблема и я не смог
kill -9
прочитать процесс из смонтированной файловой системы.kill -9
не работал даже послеfusermount -zu /mount/point
илиumount -l /mount/point
(который работал). Единственное, что сработало, былоpkill -9 sshfs
.источник
fusermount -zu /mount/point
работал на меня. Благодарность!Запуск Ubuntu
man fusermount
рассказывает о-z
параметре, который задокументирован как «lazy unmount». Кажется, что он связан, но нуждается в подтверждении, которое дается на другой странице руководства : fusermount (man.he.net) , в котором говорится «lazy unmount (работает, даже если ресурс все еще занят)». Нужно использовать его с-u
, на-z
вариант один, приведет к ошибке. Я попробовал этот-z
вариант, и могу подтвердить, что он добился цели, но это слишком похоже на хитрость: что он делает именно? Сделать его размонтированным автоматически, как только каталог больше не будет занят? Я не знаю, не задокументировано, так что небезопасно.Итак, вот еще один вариант, более подробный, но более безопасный: попытка размонтироваться, пока он не преуспеет, столько раз, сколько необходимо, в цикле.
Есть минимальная обратная связь о прогрессе, так что каждый знает, что происходит, и не верит, что он завис.
Эта опция приемлема из сценария оболочки; для взаимодействия с командной строкой использование
-z
опции более удобно, но, вероятно, следует помнить, что страница руководства не документирует ее, и могут возникнуть сомнения относительно того, что именно она делает.источник
Я часто вижу «устройство занято» с sshfs, когда у меня есть окно терминала, открытое для каталога в общей папке sshfs. Выход из терминала или смена каталогов на локальный общий ресурс, а затем запуск fusermount -u решает мои проблемы.
источник
На OS X попробуйте:
источник
Если вы уже убедились, что ни один процесс еще не использует файловую систему, прежде чем пытаться выполнить «обычный» размонтирование:
fuser -vm /mount/point
и / илиlsof /mount/point
найти их,/mount/point
,Пытаться:
pkill -KILL sshfs
а потомfusermount -u /mount/point
,Это помогло мне, когда я потерял сетевое соединение и не смог размонтировать не отвечающую точку монтирования sshfs.
Кроме того, если вы хотите, чтобы sshfs автоматически размонтировался при потере сетевого подключения , сообщая приложениям, использующим sshfs, об ошибке ввода-вывода (чтобы они не зависали бесконечно), выполните монтирование с помощью:
sshfs -o ServerAliveInterval=15 remote-srv:/remote/dir /local/mountpoint
Когда данные не передаются, ваш
ssh
клиент будет каждые 15 секунд проверять, может ли он получить ответ от сервера. Если 3 проверки не пройдены, он отключится и размонтируется.источник