题
我已经用Python-fuse编写了一些简单的文件系统,但是现在我想做一些我在pydoc或我发现的示例脚本中找不到的事情:使用fusermount -u
卸载文件系统时,我想捕获该动作,执行umount,然后rmdir由程序的初始化脚本创建的安装目录。如果可能的话,诱捕上载动作的魔咒是什么?
我可以看到如何轻松地将其变成一个无限循环,但是我希望可以弄清楚如何在第一次遇到umount陷阱时将其禁用。
更新:我在 http://omake.metaprl.org/prerelease中找到了
destroy
/omake-dll-fuse.html#htoc582 并添加了该方法,但似乎没有被调用。
解决方案
找到了!在Python保险丝中是fsdestroy()。通过以下方式找到它: 通用标签
我用的是: 通用标签
不知道data参数是否是必需的,但不会造成伤害。显然,它在umount之后称为 ,因此我不必担心处理该问题。
其他提示
另一种解决方案(虽然不是特定的,并且未在Python下进行测试),是防止FUSE通过-f
开关“守护”。
在这种情况下,fuse_main
方法将一直阻塞,直到卸载文件系统为止,之后您将获得控件。
如果确实需要守护进程行为,则可以在安装之前自己重新实现它。
不隶属于 StackOverflow