Monté un sistema de archivos remoto usando sshfs (versión 2.8.4)
sshfs -o allow_root [email protected]: ./example
pero desmontarlo falla
> 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))
¿Alguna idea de qué podría estar causando este error y cómo se podría solucionarlo?
ps aux | grep gvfsd-archive
.Creo que quieres un desmontaje perezoso:
fuente
Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem *as soon as it is not busy* anymore
. Por lo tanto, no resolverá el problema original. De acuerdo con @Gilles,lsof
debería ayudar aquí.umount -l
funcionó.Acabo de tener este problema y no pude
kill -9
leer el proceso del sistema de archivos montado.kill -9
no funcionó incluso despuésfusermount -zu /mount/point
oumount -l /mount/point
(que funcionó). Lo único que funcionó fuepkill -9 sshfs
.fuente
fusermount -zu /mount/point
trabajó para mi. ¡Gracias!Al ejecutar Ubuntu, se menciona
man fusermount
una-z
opción, que se documenta como "desmontaje diferido". Parece estar relacionado, pero necesita una confirmación, dada por esta otra página de manual : fusermount (man.he.net) , que dice "desmontaje diferido (funciona incluso si el recurso aún está ocupado)". Hay que utilizarlo con el-u
, la-z
opción solo, producirá un error. Probé la-z
opción y puedo confirmar que funciona, pero esto parece demasiado un truco: ¿qué hace exactamente? ¿Desmontarlo automáticamente tan pronto como el directorio ya no esté ocupado? No sé, no documentado, tan inseguro.Así que aquí hay otra opción, más detallada, pero más segura: intenta desmontar hasta que tenga éxito, tantas veces como sea necesario, en un bucle.
Hay una retroalimentación de progreso mínima, para que uno sepa lo que está sucediendo y no crea que está colgado.
Esta opción es aceptable desde un script de shell; para la interacción de la línea de comandos, el uso de la
-z
opción es más útil, pero probablemente se debe tener en cuenta que la página del manual no lo documenta y puede haber dudas sobre lo que hace exactamente.fuente
A menudo veo "dispositivo ocupado" con sshfs cuando tengo una ventana de terminal abierta a un directorio en el recurso compartido sshfs. Salir del terminal o cambiar los directorios a un recurso compartido local y luego ejecutar fusermount -u resuelve mis problemas.
fuente
En OS X intente:
fuente
Si ya se aseguró de que ningún proceso sigue utilizando el sistema de archivos antes de intentar un montaje "normal":
fuser -vm /mount/point
y / olsof /mount/point
para encontrarlos/mount/point
,Tratar:
pkill -KILL sshfs
y entoncesfusermount -u /mount/point
.Me ayudó cuando perdí la conexión de red y no pude desmontar el punto de montaje sshfs que no respondía.
Además, si desea que sshfs se desmonte automáticamente cuando se pierde la conexión de red , informando a las aplicaciones que usan sshfs de un error de E / S (para que no se atasquen infinitamente), monte con:
sshfs -o ServerAliveInterval=15 remote-srv:/remote/dir /local/mountpoint
Cuando no se intercambian datos, su
ssh
cliente verificará cada 15 segundos si puede obtener una respuesta del servidor. Si fallan 3 verificaciones, se desconectará y desmontará.fuente