【发布时间】:2021-05-23 01:18:23
【问题描述】:
我希望我的 FUSE fs 测试要在使用 fs 的进程环境中设置的变量,例如 FUSE_FS_SHOW_DOTFILES 用于不隐藏文件/目录。默认行为是隐藏这些。 我怎样才能有效地做到这一点?使用 fs 的进程的 pid 是已知的,因此可以解析 /proc/$pid/environ 中的环境文件。 但是要做到这一点,像lookup、getattr、opendir 和readdir 这样的每个命令都是非常低效的。您无法查看此文件的修改/更改时间,因为它们始终设置为当前系统时间(顺便说一下)。 有人有想法吗?
提前致谢,
史蒂夫·邦
荷兰
【问题讨论】:
-
时间不是真实的,因为 proc fs like fuse 是虚拟的。那里没有真正的文件。您是否控制用户所做的变量设置?你可以在你的保险丝中实现它
-
嗨奥伦希洪。你写我可以在我的保险丝中实现它,你的意思是用户完成的变量设置。你的意思是?我的服务无法控制用户在其环境中设置的内容。
-
如果你可以控制用户,他们可以不用设置 env,而是在你的 fuse mount 中写入类似目录树的“/proc”,暴露为配置界面
-
好的,您的建议是根目录或 .config 文件(隐藏)上的 getxattr/setxattr。是奥伦吗?在那种情况下,是的,这是很有可能的。
-
是的。在特定文件上设置 xattr/getxattr 或读/写 (echo/cat) 不同的配置路径以模仿
/proc fs
标签: linux environment-variables polling fuse