我已经用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方法将一直阻塞,直到卸载文件系统为止,之后您将获得控件。

如果确实需要守护进程行为,则可以在安装之前自己重新实现它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top