Вопрос

Я написал несколько простых файловых систем с Python-fuse, но теперь я хочу сделать то, что я не могу найти ни в pydoc, ни в найденных мной примерах скриптов: когда файловая система отключена с помощью fusermount -u, Я хочу перехватить это действие, выполнить umount, а затем rmdir каталог монтирования, созданный скриптом инициализации моей программы.Если это вообще возможно, то какое магическое заклинание удерживает действие размонтирования?

Я понимаю, как это может легко превратиться в бесконечный цикл, но я надеюсь, что смогу понять, как отключить ловушку umount при первом попадании в нее.


Обновление: я нашел destroy на http://omake.metaprl.org/prerelease/omake-dll-fuse.html#htoc582 и добавил метод, но, похоже, он не вызывается.

Это было полезно?

Решение

нашел!это fsdestroy () в Python-fuse.нашел его:

родовое слово

Я использовал:

родовое слово

Не знаю, нужен ли параметр данных, но не повредит.И, очевидно, он называется после umount, поэтому мне не пришлось беспокоиться об этом.

Другие советы

Еще одно решение, хотя и не конкретное и не тестировавшееся в Python, - предотвратить «демонизацию» FUSE с помощью переключателя -f.

В этом случае метод fuse_main будет блокироваться до тех пор, пока файловая система не будет отключена, а после этого вы получите управление обратно.

Если вам действительно нужно поведение deamon, вы можете заново реализовать его перед монтированием.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top