Ich habe ein Remote-Dateisystem mit sshfs (Version 2.8.4) gemountet
sshfs -o allow_root [email protected]: ./example
aber das Abhängen schlägt fehl
> 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))
Irgendwelche Ideen, was diesen Fehler verursachen könnte und wie man ihn beheben könnte?
ps aux | grep gvfsd-archive
.Ich denke du willst ein faules Absteigen:
quelle
Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem *as soon as it is not busy* anymore
. Daher wird das ursprüngliche Problem nicht behoben. Einverstanden mit @Gilles,lsof
sollte hier weiterhelfen.umount -l
funktionierte aber .Ich hatte gerade dieses Problem und konnte
kill -9
den Prozess nicht aus dem gemounteten Dateisystem lesen.kill -9
hat auch nachfusermount -zu /mount/point
oder nicht funktioniertumount -l /mount/point
(was hat funktioniert). Das einzige was funktionierte warpkill -9 sshfs
.quelle
fusermount -zu /mount/point
arbeitete für mich. Vielen Dank!Wenn Sie Ubuntu ausführen, werden Sie
man fusermount
auf eine-z
Option hingewiesen, die als "Lazy Unmount" dokumentiert ist. Es scheint verwandt zu sein, benötigt aber eine Bestätigung, die von dieser anderen Manpage gegeben wird: fusermount (man.he.net) , auf der steht "Lazy Unmount (funktioniert auch, wenn die Ressource noch ausgelastet ist)". Man muss es verwenden , mit der-u
die-z
Option allein, wird einen Fehler erzeugen. Ich habe die-z
Option ausprobiert und kann bestätigen, dass sie den Trick macht, aber genau das sieht nach einem Trick aus: Was genau macht sie? Stellen Sie sicher, dass die Bereitstellung automatisch aufgehoben wird, sobald das Verzeichnis nicht mehr belegt ist. Ich weiß nicht, nicht dokumentiert, also unsicher.Hier ist eine weitere Option, die ausführlicher, aber sicherer ist: Sie versucht, die Bereitstellung aufzuheben, bis sie in einer Schleife so oft wie nötig erfolgreich ist.
Es gibt eine minimale Fortschrittsrückmeldung, damit man weiß, was los ist und nicht glaubt, dass es hängt.
Diese Option ist in einem Shell-Skript zulässig. Für die Kommandozeileninteraktion ist die Verwendung der
-z
Option praktischer, aber man muss sich wahrscheinlich bewusst sein, dass die Manpage sie nicht dokumentiert und es Zweifel gibt, was sie genau macht.quelle
Ich sehe oft "Gerät beschäftigt" mit sshfs, wenn ein Terminalfenster für ein Verzeichnis auf der sshfs-Freigabe geöffnet ist. Das Beenden des Terminals oder das Ändern der Verzeichnisse auf eine lokale Freigabe und das Ausführen von fusermount -u lösen meine Probleme.
quelle
Unter OS X versuchen Sie:
quelle
Wenn Sie bereits sichergestellt haben, dass noch kein Prozess das Dateisystem verwendet, bevor Sie das "normale" Umounting versuchen:
fuser -vm /mount/point
und / oderlsof /mount/point
um sie zu finden,/mount/point
mehr benutzen ,Versuchen:
pkill -KILL sshfs
und dannfusermount -u /mount/point
.Es hat mir geholfen, wenn ich die Netzwerkverbindung verloren habe und den nicht reagierenden sshfs-Einhängepunkt nicht umhängen konnte.
Wenn Sie möchten , dass sshfs bei einem Ausfall der Netzwerkverbindung automatisch umgemountet wird , und Anwendungen, die sshfs verwenden, über einen E / A-Fehler informiert werden (damit sie nicht unendlich hängen bleiben), mounten Sie mit:
sshfs -o ServerAliveInterval=15 remote-srv:/remote/dir /local/mountpoint
Wenn keine Daten ausgetauscht werden,
ssh
prüft Ihr Client alle 15 Sekunden, ob er eine Antwort vom Server erhalten kann. Wenn 3 Prüfungen fehlschlagen, wird die Verbindung getrennt und die Anzahl verringert.quelle