挂载时保险丝动作



我已经用Python-fuse编写了一些简单的文件系统,但是现在我想做一些在pydoc和我找到的示例脚本中都找不到的事情:当使用fusermount -u卸载文件系统时,我想捕获该动作,执行umount,然后rmdir由我的程序初始化脚本创建的挂载目录。如果这是可能的,那用什么魔咒来困住这个骑乘动作?

我可以看到这很容易变成一个无尽的循环,但我希望能弄清楚如何在第一次遇到umount陷阱时禁用它。


更新:我在http://omake.metaprl.org/prerelease/omake-dll-fuse.html#htoc582找到了destroy并添加了该方法,但似乎没有调用

找到了!它是Python-fuse中的fsdestroy()。定位:

<>之前jcomeau@intrepid:/usr/src/google-desktop/api$ cat/usr/lib/python2.6/dist-packages/fuseparts/* | strings | grep destroyfsdestroy之前

我用的是:

<>之前deffsdestroy (self, data = None):syslog.syslog(syslog.LOG_INFO, '销毁%s: %s')挂载点,数据)os.rmdir (self.mountpoint)之前

不知道data参数是否是必需的,但这不会造成伤害。显然,它被称为 umount之后,所以我不需要担心处理这个

另一个解决方案,虽然不是特定的,也没有在Python下测试,是防止FUSE使用-f开关进行"守护进程化"。

在这种情况下,fuse_main方法将阻塞,直到卸载文件系统,然后您将重新获得控制权。

如果您确实需要守护进程的行为,您可以在挂载之前自己重新实现它。

相关内容

  • 没有找到相关文章

最新更新