J'ai monté un système de fichiers distant en utilisant sshfs (version 2.8.4)
sshfs -o allow_root [email protected]: ./example
mais le démontage échoue
> 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))
Des idées sur ce qui pourrait être à l'origine de cette erreur et comment on pourrait la corriger?
ps aux | grep gvfsd-archive
.Je pense que vous voulez un démontage paresseux:
la source
Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem *as soon as it is not busy* anymore
. Cela ne résoudra donc pas le problème d'origine. D'accord avec @Gilles,lsof
devrait aider ici.umount -l
fonctionné.Je viens d'avoir ce problème et je n'ai pas pu
kill -9
lire le processus à partir du système de fichiers monté.kill -9
n'a pas fonctionné même aprèsfusermount -zu /mount/point
ouumount -l /mount/point
(ce qui a fonctionné). La seule chose qui a fonctionné étaitpkill -9 sshfs
.la source
fusermount -zu /mount/point
travaillé pour moi. Merci!Exécuter Ubuntu,
man fusermount
parle d'une-z
option, qui est documentée comme «démontage paresseux». Il semble être lié, mais a besoin d'une confirmation, qui est donnée par cette autre page de manuel : fusermount (man.he.net) , qui dit " démontage paresseux (fonctionne même si la ressource est encore occupée)". Il faut l' utiliser avec le-u
, la-z
seule option produira une erreur. J'ai essayé l'-z
option et je peux confirmer qu'elle fait l'affaire, mais cela ressemble trop à une astuce: que fait-elle exactement? Le faire démonter automatiquement dès que le répertoire n'est plus occupé? Je ne sais pas, pas documenté, donc dangereux.Voici donc une autre option, plus détaillée, mais plus sûre: tente de démonter jusqu'à ce qu'elle réussisse, autant de fois que nécessaire, dans une boucle.
Il y a une rétroaction minimale sur les progrès, de sorte que l'on sache ce qui se passe et que l'on ne croit pas qu'il soit bloqué.
Cette option est acceptable à partir d'un script shell; pour l'interaction en ligne de commande, l'utilisation du
-z
option est plus pratique, mais il faut probablement savoir que la page de manuel ne la documente pas et il peut y avoir un doute sur ce qu'elle fait exactement.la source
Je vois souvent "périphérique occupé" avec sshfs lorsque j'ai une fenêtre de terminal ouverte sur un répertoire sur le partage sshfs. Quitter le terminal ou changer de répertoire en partage local puis exécuter fusermount -u résout mes problèmes.
la source
Sous OS X, essayez:
la source
Si vous vous êtes déjà assuré qu'aucun processus n'utilise toujours le système de fichiers avant d'essayer un démontage "normal":
fuser -vm /mount/point
et / oulsof /mount/point
pour les trouver,/mount/point
plus,Essayer:
pkill -KILL sshfs
et alorsfusermount -u /mount/point
.Cela m'a aidé lorsque j'ai perdu la connexion réseau et que je n'ai pas pu démonter le point de montage sshfs qui ne répond pas.
De plus, si vous souhaitez que sshfs se démonte automatiquement lorsque la connexion réseau est perdue , informant les applications utilisant sshfs d'une erreur d'E / S (afin qu'elles ne restent pas bloquées à l'infini), montez avec:
sshfs -o ServerAliveInterval=15 remote-srv:/remote/dir /local/mountpoint
Lorsqu'aucune donnée n'est échangée, votre
ssh
client vérifiera toutes les 15 secondes s'il peut obtenir une réponse du serveur. Si 3 contrôles échouent, il se déconnectera et démontera.la source