写我自己的'一切都是文件'界面

Ale*_*ing 10 unix linux posix

我想以"一切都是文件"的方式公开我的程序的设置和统计信息 - 有点/ proc /和/ sys /如何工作.

举个例子,想象一下apache2有这种类型的接口.然后你就可以做这样的事情(假设):

cd /apache2/virtual_hosts
mkdir 172.20.30.50
cd 172.20.30.50
echo '/www/example1' > DocumentRoot
echo 'www.example1.com' > ServerName
echo 1 > control/enabled
cat control/status
   enabled true
   uptime 4080
   hits 0
Run Code Online (Sandbox Code Playgroud)

现在,有没有关于如何做到这一点的教程或类似内容?我主要是寻找'假装成文件或目录'的技巧.我在linux,POSIX或其他更便携的方法会更好,但不是必需的.

jld*_*ont 10

在Linux上,看看Fuse:在用户空间程序中实现一个功能齐全的文件系统.

  • 简单的库API
  • 安装简单(无需修补或重新编译内核)
  • 安全实施
  • 用户空间 - 内核界面非常高效
  • 非特权用户可以使用
  • 在Linux内核2.4.X和2.6.X上运行
  • 已证明随着时间的推移非常稳定

这里查看兼容的平台.在教程方面,我遇到的一个好的就是这里.